Ответ: Да тут не о чем спорить! Просто некоторые компляторы (старые) заключали тест макроопределения в скобки сами.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Т.е. если в директиве multiplier определен как
#define multiplier 1+2
то компилятор подставлял вместо multiplier (1+2).
Вполне возможно, что это делалось неправильно. Хотя мне кажется удобным.
Составить ответ
|||
Конференция
|||
Архив
Ответы
- И я согласен - и я бы убил бы. Слава тем компиляторам, которые НЕ ставят. — John (04.06.2003 15:23, пустое)
- Ответ: согласен с Дасмом - за такое убил бы. — ... (04.06.2003 15:00, пустое)
- В этом что то есть... Но лучше бы этого не было. ! Все таки IAR в данном случае более прав. — Весельчак_У (04.06.2003 14:54, пустое, картинка)
- Да неправильно это! Откуда препроцессору знать, что вы хотите получить от него? Может вы специально скобки не поставили, а он их наставит! — Любящий С (04.06.2003 14:47, пустое)
- доказательства! в смысле какие компиляторы? — Внимательный препроцессор (04.06.2003 14:47, пустое)
- Как правило, если программист дефайнит что-нибудь, то — Peter K. (04.06.2003 14:46, 154 байт)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru