Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: global #define
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
alexey_z83
Здравствуйте.

Вопрос заключается в том как сделать макроопределение видимое в разных файлах проекта,
тема в той или иной степени обсуждалась, но ответа с приемлемым вариантом так и не поступило,
в CV например, есть вкладка куда можно вписать глобальные дефайны.
sergik_vrn
Цитата(alexey_z83 @ Dec 19 2008, 10:26) *
Здравствуйте.

Вопрос заключается в том как сделать макроопределение видимое в разных файлах проекта,
тема в той или иной степени обсуждалась, но ответа с приемлемым вариантом так и не поступило,
в CV например, есть вкладка куда можно вписать глобальные дефайны.

не понял, а чем не устраивает закладка в свойствах проекта? и соотв. опция компилятора
alexey_z83
Цитата(sergik_vrn @ Dec 19 2008, 10:30) *
не понял, а чем не устраивает закладка в свойствах проекта? и соотв. опция компилятора


А по подробнее ?
Сергей Борщ
Цитата(alexey_z83 @ Dec 19 2008, 09:35) *
А по подробнее ?
А полазить по свойствам проекта?
Project->Options->C/C++ Compiler->Preprocessor->Defined symbols
alexey_z83
Цитата(Сергей Борщ @ Dec 19 2008, 10:54) *
А полазить по свойствам проекта?
Project->Options->C/C++ Compiler->Preprocessor->Defined symbols


В это окошко вписать дефайны ? А дальше ? Дайте пример плиз!
diper
Там вроде нельзя задавать значения дефайнов, т.е. если, например, нужен глобальный аналог
#define SYS_CLK 8000000
то ничего не выйдет...

Цитата(alexey_z83 @ Dec 19 2008, 11:25) *
В это окошко вписать дефайны ? А дальше ? Дайте пример плиз!

Вписываешь туда например строчку ENABLE_DEBUG_MODE

А в программе
Код
#ifdef ENABLE_DEBUG_MODE
блалала
#else
блаблабла
#endif

#ifndef ENABLE_DEBUG_MODE
бла
#endif
Сергей Борщ
Цитата(alexey_z83 @ Dec 19 2008, 10:25) *
В это окошко вписать дефайны ? А дальше ? Дайте пример плиз!
Пример чего? Вы хотели "как сделать макроопределение видимое в разных файлах проекта". Вписывайте его сюда, а дальше делайте то же, что вы делали в CV.
Цитата(diper @ Dec 19 2008, 10:33) *
Там вроде нельзя задавать значения дефайнов, т.е. если, например, нужен глобальный аналог
#define SYS_CLK 8000000
то ничего не выйдет...
Все выходит. Впишите туда SYS_CLK=8000000. Все, что вписано в это окно передается компилятору в командной строке через ключ -D. Более подробную информацию можно получить в описании на этот ключ.
alexey_z83
Цитата(Сергей Борщ @ Dec 19 2008, 11:44) *
Пример чего? Вы хотели "как сделать макроопределение видимое в разных файлах проекта". Вписывайте его сюда, а дальше делайте то же, что вы делали в CV.
Все выходит. Впишите туда SYS_CLK=8000000. Все, что вписано в это окно передается компилятору в командной строке через ключ -D. Более подробную информацию можно получить в описании на этот ключ.


Спасибо всем и в особенности Сергею Борщ!

Не получалось из-за того что я писал (в окошке) как в определении дефайна SYS_CLK 8000000 ,а нужно было SYS_CLK=8000000
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.