Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вычисления в препроцессоре GCC
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
tazik
Вопрос по препроцессору WinAVR.
В заголовочном файле провожу вычисления констант:

#define MAX_RPM 6000LU
#define LED_COUNT 21LU
#define LED_STEP (MAX_RPM)/LED_COUNT

Как можно заставить компилятор выводить вычисленные значения?
zltigo
Цитата(tazik @ Apr 18 2010, 12:26) *
Как можно заставить компилятор выводить вычисленные значения?

Это не компилятор, Это препроцессор. Можно получить исходный текст после прохода препроцессора. Ключик -E
Но что-то мне подсказывает, что желание посмотреть на результат, возможно, пройдет после:
Код
#define MAX_RPM    (6000LU)
#define LED_COUNT     (21LU)
#define LED_STEP     ((MAX_RPM)/(LED_COUNT))
tazik
Цитата(zltigo @ Apr 18 2010, 17:40) *
Это не компилятор, Это препроцессор. Можно получить исходный текст после прохода препроцессора. Ключик -E
Но что-то мне подсказывает, что желание посмотреть на результат, возможно, пройдет после:
Код
#define MAX_RPM    (6000LU)
#define LED_COUNT     (21LU)
#define LED_STEP     ((MAX_RPM)/(LED_COUNT))



Cпасибо за обе подсказки )
demiurg_spb
Цитата(zltigo @ Apr 18 2010, 13:40) *
Код
#define MAX_RPM    (6000LU)
#define LED_COUNT     (21LU)
А зачем константы в скобки прятать, выражения понятно, аргументы макросов тоже понятно, ну а тут по привычке что лиsmile.gif?
zltigo
Цитата(demiurg_spb @ Apr 18 2010, 13:21) *
А зачем константы в скобки прятать, выражения понятно, аргументы макросов тоже понятно, ну а тут по привычке что лиsmile.gif?

Перестраховка, но не совсем, например, для того, что-бы нельзя было их явно нельзя было использовать для контекации. Заодно заготовка под константы типа (60+1), которые уже лучше в скобки, дабы не полагаться только на правильное использование этого дефайна другими пользователями. В данном случае перестраховка была сделана по причине того, что у Автора где-то там возникли проблемы - едва-ли он из праздного любопытства захотел узнать результат.
demiurg_spb
Понятно. Вопросов больше не имею.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.