# предупреждение в Visual Studio - PullRequest
12 голосов
/ 21 апреля 2010

В gcc я могу делать предупреждения во время компиляции так:

#if !defined(_SOME_FEATURE_)
   #warning _SOME_FEATURE_ not defined-- be careful!
#endif

Но в Visual Studio это не работает. Есть ли альтернативный синтаксис для #warning?

Ответы [ 5 ]

15 голосов
/ 21 апреля 2010

Ближайшим эквивалентом будет #pragma message или, возможно, #error (последний останавливает компиляцию, первый просто выводит указанное сообщение об ошибке).

12 голосов
/ 21 апреля 2010

Использование #pragma message("Some message")

7 голосов
/ 28 июня 2012

Здесь есть хорошая статья о том, как добиться эффекта, подобного #warning в visual studio:

http://goodliffe.blogspot.co.uk/2009/07/c-how-to-say-warning-to-visual-studio-c.html

Редактировать: Вот соответствующий раздел по ссылке выше, однако я рекомендую прочитать статью.

#define STRINGIZE_HELPER(x) #x
#define STRINGIZE(x) STRINGIZE_HELPER(x)
#define WARNING(desc) message(__FILE__ "(" STRINGIZE(__LINE__) ") : Warning: " #desc)

// usage:
#pragma WARNING(FIXME: Code removed because...)
0 голосов
/ 21 апреля 2010

Еще одна мысль - это время компиляции в стиле шаблона. Boost имеет полный набор из них, если вы хотите проверить ошибки кода времени компиляции.

0 голосов
/ 21 апреля 2010

#pragma WEIRD_VALUES_HERE

- это способ, которым я всегда видел это. У M $, вероятно, где-то есть прагмы на их сайте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...