Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
а всего лишь макроопределение типа короткой инлайн-функции. Если бы было типа
#if .......
#else
x=100/0;
#endif
то при выполнении условия на этапе компиляции уже строка х=100/0 не будет даже просматриваться
В Вашем же случае фактически вставляется строка
((x>0)?(x):(100/0))
и тот факт, что некоторые компиляторы (иар, например) это дело оптимизируют вусмерть когда х - константа, это проблемы самого компилятора. В общем случае х может не быть константой, и тогда компилятору придется вставить значение 100/0, которое уже на этапе компиляции неверно
Составить ответ | Вернуться на конференцию
Ответы