реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> global #define
alexey_z83
сообщение Dec 19 2008, 07:26
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 3-05-08
Пользователь №: 37 238



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

Вопрос заключается в том как сделать макроопределение видимое в разных файлах проекта,
тема в той или иной степени обсуждалась, но ответа с приемлемым вариантом так и не поступило,
в CV например, есть вкладка куда можно вписать глобальные дефайны.
Go to the top of the page
 
+Quote Post
sergik_vrn
сообщение Dec 19 2008, 07:30
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 152
Регистрация: 11-10-05
Из: Воронеж
Пользователь №: 9 491



Цитата(alexey_z83 @ Dec 19 2008, 10:26) *
Здравствуйте.

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

не понял, а чем не устраивает закладка в свойствах проекта? и соотв. опция компилятора
Go to the top of the page
 
+Quote Post
alexey_z83
сообщение Dec 19 2008, 07:35
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 3-05-08
Пользователь №: 37 238



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


А по подробнее ?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 19 2008, 07:54
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



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


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
alexey_z83
сообщение Dec 19 2008, 08:25
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 3-05-08
Пользователь №: 37 238



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


В это окошко вписать дефайны ? А дальше ? Дайте пример плиз!
Go to the top of the page
 
+Quote Post
diper
сообщение Dec 19 2008, 08:33
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 94
Регистрация: 12-11-05
Из: Росиия, Нижний Новгород
Пользователь №: 10 750



Там вроде нельзя задавать значения дефайнов, т.е. если, например, нужен глобальный аналог
#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
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 19 2008, 08:44
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



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


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
alexey_z83
сообщение Dec 19 2008, 09:37
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 3-05-08
Пользователь №: 37 238



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


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

Не получалось из-за того что я писал (в окошке) как в определении дефайна SYS_CLK 8000000 ,а нужно было SYS_CLK=8000000
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th June 2025 - 06:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01413 секунд с 7
ELECTRONIX ©2004-2016