Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

на основании того, что это не условный дефайн

Отправлено koyodza 30 августа 2008 г. 21:08
В ответ на: Ну, "должен" - это слишком энергично сказано. На остновании чего "должен"? :-) отправлено <font color=gray>VasilyS</font> 30 августа 2008 г. 20:15

а всего лишь макроопределение типа короткой инлайн-функции. Если бы было типа
#if .......
#else
x=100/0;
#endif

то при выполнении условия на этапе компиляции уже строка х=100/0 не будет даже просматриваться

В Вашем же случае фактически вставляется строка
((x>0)?(x):(100/0))
и тот факт, что некоторые компиляторы (иар, например) это дело оптимизируют вусмерть когда х - константа, это проблемы самого компилятора. В общем случае х может не быть константой, и тогда компилятору придется вставить значение 100/0, которое уже на этапе компиляции неверно


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
увеличьте 6 на 2:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru