Jump to content

    

global #define

Здравствуйте.

 

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

тема в той или иной степени обсуждалась, но ответа с приемлемым вариантом так и не поступило,

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

Share this post


Link to post
Share on other sites
Здравствуйте.

 

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

тема в той или иной степени обсуждалась, но ответа с приемлемым вариантом так и не поступило,

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

не понял, а чем не устраивает закладка в свойствах проекта? и соотв. опция компилятора

Share this post


Link to post
Share on other sites
не понял, а чем не устраивает закладка в свойствах проекта? и соотв. опция компилятора

 

А по подробнее ?

Share this post


Link to post
Share on other sites
А полазить по свойствам проекта?

Project->Options->C/C++ Compiler->Preprocessor->Defined symbols

 

В это окошко вписать дефайны ? А дальше ? Дайте пример плиз!

Share this post


Link to post
Share on other sites

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

#define SYS_CLK 8000000

то ничего не выйдет...

 

В это окошко вписать дефайны ? А дальше ? Дайте пример плиз!

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

 

А в программе

#ifdef ENABLE_DEBUG_MODE
блалала
#else
блаблабла
#endif

#ifndef ENABLE_DEBUG_MODE
бла
#endif

Share this post


Link to post
Share on other sites
В это окошко вписать дефайны ? А дальше ? Дайте пример плиз!
Пример чего? Вы хотели "как сделать макроопределение видимое в разных файлах проекта". Вписывайте его сюда, а дальше делайте то же, что вы делали в CV.

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

#define SYS_CLK 8000000

то ничего не выйдет...

Все выходит. Впишите туда SYS_CLK=8000000. Все, что вписано в это окно передается компилятору в командной строке через ключ -D. Более подробную информацию можно получить в описании на этот ключ.

Share this post


Link to post
Share on other sites
Пример чего? Вы хотели "как сделать макроопределение видимое в разных файлах проекта". Вписывайте его сюда, а дальше делайте то же, что вы делали в CV.

Все выходит. Впишите туда SYS_CLK=8000000. Все, что вписано в это окно передается компилятору в командной строке через ключ -D. Более подробную информацию можно получить в описании на этот ключ.

 

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

 

Не получалось из-за того что я писал (в окошке) как в определении дефайна SYS_CLK 8000000 ,а нужно было SYS_CLK=8000000

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this