2010-11-12 3 views
3

Я создаю коммерческое приложение, и мы используем код GPL, чтобы помочь нам.Создание пользовательских флагов #warning

Как добавить #warning или #error заявления, чтобы при создании кода для отладки он предупреждал, но когда мы создаем для выпуска, он вызывает ошибки?

я могу сделать:

#warning this code is released under a CCL licensing scheme, see Source_Code_License.rtf 
#warning this code is not LGPL-compliant 
#warning this code was copied verbatim from a GP Licensed file 

в начале файла, но я могу сделать лучше? Есть ли лучший способ пометить файл, если он включен?

Я использую Objective-C++ с gcc или clang.

+0

Если вы используете Objective C, то почему вы добавили тег 'C++'? – sbi

+0

Я использую Objective-C++, некоторые из которых являются C++, некоторые из которых являются Objective-C, а некоторые просто объединены и беспорядочны повсюду. –

+0

@Stephen; Я приношу свои извинения за беспорядок. (Вы должны правильно ответить @address комментариям, в противном случае те, на которые вы отвечаете, не увидите их на вкладке «Ответы». Я нашел это случайно.) – sbi

ответ

2

Вместо этого используйте вместо него сообщение #pragma.

+2

Можете привести пример? – jAckOdE

+0

Конечно, вот пример: #warning Это настраиваемое предупреждение – vinnybad

4
#ifdef SOME_SYMBOL 
#error "foobar" 
#else 
#warning "foobar" 
#endif 

NDEBUG имеет немного другую цель (контроль утверждают) и может быть #undef и повторно определен выборочно (Повторное включение assert.h, чтобы осуществить изменение), так что, вероятно, не будет правильным символом. Но это стандартный макрос и может быть использован.

Обратите внимание, что #error является стандартным, но #warning является расширением.

Смежные вопросы