Перейти к содержанию
    

Непонятки с predefined symbols

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

 

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

 

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

 

#define symbol value

 

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

Кто-нить знает как это сделать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто-нить знает как это сделать?
Убрать пробелы. В окне:
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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хочу узнать у бывалых. Сам не нашёл.

Есть ли предопределённый символ который показывает режим компиляции - debug/release. Вроде где-то мельком видел - перерыл всё. Конечно это не принципиально, но приятнее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть ли предопределённый символ который показывает режим компиляции - debug/release.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть ли предопределённый символ который показывает режим компиляции - debug/release. Вроде где-то мельком видел - перерыл всё. Конечно это не принципиально, но приятнее.

Мельком, это то, что сказал zltigo, а на самом деле слова debug/release не являются зарезервированными для среды. Это даже не режимы, а всего лишь названия конфигураций. Опции конфигурации (как и название) могут быть любыми, даже с точностью до наоборот.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добавлю DEBUG, включает поддержку макроса ASSERT

Было уже:

ибо по жизни предназначен для дирижирования assert.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...