Visual Studio中的#warning

pal*_*ogt 12 c c++ visual-c++

在gcc中我可以做这样的编译时警告:

#if !defined(_SOME_FEATURE_)
   #warning _SOME_FEATURE_ not defined-- be careful!
#endif
Run Code Online (Sandbox Code Playgroud)

但在Visual Studio中,这不起作用.#warning有替代语法吗?

Jer*_*fin 16

关于最接近的等价物将是#pragma message,或者可能#error(后者停止编译,前者只打印出指定的错误消息).


Jas*_*ers 12

使用 #pragma message("Some message")


Dan*_*ker 7

这里有一篇很好的文章,介绍如何在visual studio中实现与#warning类似的效果:

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...)
Run Code Online (Sandbox Code Playgroud)

  • 问题是针对Visual Studio,而8岁时就是针对MSVC。 (2认同)