开发者

Intentional compiler warnings for Visual C++ that appear in Error List?

How can you create a compiler warning (in the model of #error, except as a warning) on purpose in Visual C++ that will show up on the Error List with the correct file and line number?

开发者_运维技巧

GCC and other compilers offer #warning, but the MSVC compiler does not.

The "solution" at http://support.microsoft.com/kb/155196 does not parse in the Visual Studio error list.


Just add this to your common include file (ex, stdafx.h):

#define __STR2__(x) #x
#define __STR1__(x) __STR2__(x)
#define __LOC__ __FILE__ "("__STR1__(__LINE__)") : warning W0000: #pragma VSWARNING: "
#define VSWARNING(x)  message(__LOC__ x)

Use this like:

#pragma VSWARNING("Is this correct?!?!")

The compiler will output:

c:\dir\file.h(11) : warning W0000: #pragma VSWARNING: Is this correct?!?!

And the Error List tab will show the warning nicely in the table:

Type       Num   Description                                             File    Line
[Warning]  13    warning W0000: #pragma VSWARNING: Is this correct?!?!   file.h  11

exactly like a normal Visual Studio compiler warning.


This is kind of a silly answer to your question, but often, if I need to add an intentional warning, I will type something like:

#pragma asdfkljasdlfjasklfjklasjdfklj

which issues a Unknown Pragma warning with line number and all.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜