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

 
 
 
Reply to this topicStart new topic
> Непонятки с predefined symbols, Вообще-то для армовского ИАРа
GetSmart
сообщение Apr 27 2007, 22:24
Сообщение #1


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Есть такая штука в настройках проекта как:

C/C++ Compiler -> Preprocessor -> Defined symbols (one per line)

Вроде бы полезная весчь, но... То ли голова квадратная, то ли руки кривые, но не получается у меня там объявить символ со значением, подобно классическому:

#define symbol value

Почему-то можно объявить символ без значения, а на значение компилятор ругается.
Кто-нить знает как это сделать?


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Apr 28 2007, 00:45
Сообщение #2


Гуру
******

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



Цитата(GetSmart @ Apr 27 2007, 21:24) *
Кто-нить знает как это сделать?
Убрать пробелы. В окне:
Цитата
HARDWARE_VERSION=2
в коде:
Код
#if     HARDWARE_VERSION == 1
    VICVectCntl2 = (1<<5) | VIC_UART0;                            // Enable vector interrupt for RS485
    VICVectCntl3 = (1<<5) | VIC_UART1;                            // Enable vector interrupt for RS232
#elif   HARDWARE_VERSION == 2
    VICVectCntl2 = (1<<5) | VIC_UART1;                            // Enable vector interrupt for RS485
    VICVectCntl3 = (1<<5) | VIC_UART0;                            // Enable vector interrupt for RS232
#endif


--------------------
На любой вопрос даю любой ответ
"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
GetSmart
сообщение Apr 28 2007, 01:17
Сообщение #3


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Вот спасибо. Сам бы точно не догадался.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 28 2007, 01:26
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(GetSmart @ Apr 28 2007, 01:17) *
Вот спасибо. Сам бы точно не догадался.

Все на самом деле очень просто - это банально передается в командную строку компилятору c ключем -D symbol=value и с пробелами получаем кучу странных ключей. Хотя, конечно могли и повыбрасывать пробелы создатели "оболочек" smile.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение May 29 2007, 20:48
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Хочу узнать у бывалых. Сам не нашёл.
Есть ли предопределённый символ который показывает режим компиляции - debug/release. Вроде где-то мельком видел - перерыл всё. Конечно это не принципиально, но приятнее.
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 30 2007, 06:05
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(SasaVitebsk @ May 29 2007, 23:48) *
Есть ли предопределённый символ который показывает режим компиляции - debug/release.

Как ни странно - есть NDEBUG для Release. Но это является косвенным признаком, ибо по жизни предназначен для дирижирования assert.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение May 30 2007, 06:16
Сообщение #7


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(SasaVitebsk @ May 29 2007, 23:48) *
Есть ли предопределённый символ который показывает режим компиляции - debug/release. Вроде где-то мельком видел - перерыл всё. Конечно это не принципиально, но приятнее.

Мельком, это то, что сказал zltigo, а на самом деле слова debug/release не являются зарезервированными для среды. Это даже не режимы, а всего лишь названия конфигураций. Опции конфигурации (как и название) могут быть любыми, даже с точностью до наоборот.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение May 30 2007, 06:49
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Спасибо
Go to the top of the page
 
+Quote Post
lamerok
сообщение May 30 2007, 09:26
Сообщение #9


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

Группа: Свой
Сообщений: 135
Регистрация: 22-06-04
Из: Челябинск
Пользователь №: 88



Цитата(SasaVitebsk @ May 30 2007, 09:49) *
Спасибо

Добавлю DEBUG, включает поддержку макроса ASSERT
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 30 2007, 09:36
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(lamerok @ May 30 2007, 12:26) *
Добавлю DEBUG, включает поддержку макроса ASSERT

Было уже:
Цитата
ибо по жизни предназначен для дирижирования assert.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 22:13
Рейтинг@Mail.ru


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