Hello, Dmitry E. Oboukhov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Tue, 14 Oct
2008 15:58:59 +0400:DO>>>> А мне по фиг поддержка многоуровневых макросов.
DO>>> это потому что ты ни разу программы сложнее 2+2 не писал
DO>> А зачем в нескольких килобайтах кода сложные программы и DO>> многократно вложенные макросы? Только от неумения сделать просто и DO>> эффективно. Тогда и компилятор мешает.
DEO> вот именно когда можно написать несколько мегабайт кода, тогда DEO> можно и без макросов обойтись - все что надо на ходу посчитали и DEO> делов...
Каким образом вложенные макросы сокращают код?
DEO> а когда делить нельзя, математику нельзя, а очень нужно это таки
Это тебя обманули. Можно и математику и делить.
DEO> делать то тут препроцессор и вообще пре-генерация кода рулит
Генерацией кода занимается компилятор, а не препроцессор.
DEO> да просто, это ж классика: в одном конфиге (.h) одна константа DEO> (например DEO> FOSC) в другом инклюде три константы (например системная частота DEO> событий и значения до куда считать таймерам чтобы ее вырабатывать, DEO> тут же макрос вычисляющий скажем BAUD_RATE), базирующиеся на DEO> константе из первого конфига (то есть макросами перевычисляющиеся) DEO> в третьем инклюде возможны константы уже на базе этих констант итп DEO> (скажем вычисление по милисекундам на входе количества тиков DEO> таймера на выходе макроса) всяческие паузы, разрядности АЦП итп итд
Макросы для этого вообще не нужны, эти константы вычисляются (а то и меряются, зависит от) один раз на калькуляторе или осциллографе и калькуляторе, или вообще чем угодно и пишутся в программу или в генерируемый этим чем угодно файл.
DEO> все что можно вычислить до runtime надо вычислять до runtime.
Гениальная мысль, и кто б без тебя до этого додумался? Пойду во всех своих программах переписывать рантайм вычисление разрядности АЦП и частоты кварцевого или встроенного генератора на макросы. Пока, как тебе, не пришлось сменить инженерную деятельность на написание примитивных скриптов. Хорошо хоть в Тель Авив пока без регистрации пускают.
DEO> впрочем, Торрес, ты это все будешь изучать в институте когда (если) DEO> доучишься/дорастешь до этого
Где уж нам уж.
dima