уровень абстракции кода

Feb 06, 2004 7 Replies

Привет, 6 февраля 2004 г., 20:36:08, ты писал(а):

DO> Тут вот ассемблеристы сильно ратуют за удобное средство разработки. И то DO> верно, а то пишу я такой код для ИАР С (2.28):

DO> typedef struct { DO> S16 value; DO> __eeprom S8 correction; DO> } sensor_state;

DO> И ведь не компилит он, ругается на illegal declaration в строчке где DO> указано DO> __eeprom. Hеужели я сильно много от него прошу? И как быть? В класс DO> завернуть наверное поможет? Целевое устройство: 90S4433. Может DO> где-нибудь DO> опцию волшебную включить? Перейти на ассемблер не предлагать ;)

Интересно, как ты себе представляешь структуру, одно поле которой лежит в SRAM, а другое - в EEPROM ? Подучи язык.

Всего хорошего.

Привет Dennis!

06 Feb 04 20:36, Dennis Opanasenko писал All:

DO> typedef struct { DO> S16 value; DO> __eeprom S8 correction; DO> } sensor_state;

DO> И ведь не компилит он, ругается на illegal declaration в строчке где DO> указано __eeprom. Hеужели я сильно много от него прошу?

Если я правильно понял, ты пытаешься разместить одну переменную сразу в двух разных секциях.

DO> И как быть?

Используй две разные переменные - одну размещай в data, другую - в eeprom.

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Крыскас. Потому что крыса вам доверяет.

Тут вот ассемблеристы сильно ратуют за удобное средство разработки. И то верно, а то пишу я такой код для ИАР С (2.28):



typedef struct { S16 value; __eeprom S8 correction; } sensor_state;



И ведь не компилит он, ругается на illegal declaration в строчке где указано __eeprom. Hеужели я сильно много от него прошу? И как быть? В класс завернуть наверное поможет? Целевое устройство: 90S4433. Может где-нибудь опцию волшебную включить? Перейти на ассемблер не предлагать ;)



Денис.



"Alexey Krasnov" snipped-for-privacy@cheboksary.org сообщил/сообщила в новостях следующее: news: snipped-for-privacy@zeim.ru...

Да я-то как раз легко представляю себе такую структуру, а вот разработчики языка похоже не представили. И разработчики компилера тоже :)

Денис.

"Alex Mogilnikov" <Alex snipped-for-privacy@f70.n.z2.fidonet.org>

сообщил/сообщила в новостях следующее: news:MSGID_2=3A5054=2F70 snipped-for-privacy@fidonet.org...

в двух разных

Точно, я надеялся, что компилятор достаточно умный и спокойно распихает разные поля по разным типам памяти привязав к обращениям к типу __eeprom обработку EEREAD EEWRITE. Hе срослось...

eeprom. Hу это сложно, помнить надо... Лучше я однако все это в класс заверну.

Денис.

"Dennis Opanasenko" snipped-for-privacy@f66.n.z2.fidonet.org>

сообщил/сообщила в новостях следующее: news:3195164922%c09hgc$254g$ snipped-for-privacy@freemail.irk.ru...

И как ты себе представляешь указатель на объект этой структуры?

Ну, ты понял :)

Dennis, ты ещё здесь сидишь?

Вторник Февраль 10 2004 11:00, Dennis Opanasenko wrote to All:

Разработчики языка ориентировались на "плоскую" модель памяти.

DO> И разработчики компилера тоже :)

Сделали, что могли, чтобы учесть реалии "железа" ;-)

Георгий

"Alexey Ovchinnikov" snipped-for-privacy@r66.ru сообщил/сообщила в новостях следующее: news:c0b35n$2jl5$ snipped-for-privacy@ddt.demos.su...

Да, вот к чему приводит писательство под большие писюки на новомодных языках... Там с начала 2003 года указатели отменили.

:)

Денис.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required