添加我自己的编译器警告

新手上路,请多包涵

使用 sprintf 时,编译器警告我该函数已弃用。

如何显示我自己的编译器警告?

原文由 Warpin 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 750
2 个回答

Visual Studio 中,

#pragma message ("Warning goes here")

附带说明,如果 您想禁止此类警告,请找到编译器警告 ID(对于已弃用的警告,它是 C4996 )并插入以下行:

#pragma warning( disable : 4996 )

原文由 Jacob 发布,翻译遵循 CC BY-SA 2.5 许可协议

noelicus 的回答很好,但我不得不使用圆括号代替方括号作为行号。

这意味着他们的代码

// with line number
#define STRING2(x) #x
#define STRING(x) STRING2(x)

#pragma message (__FILE__ "[" STRING(__LINE__) "]: test")

应该

// with line number
#define STRING2(x) #x
#define STRING(x) STRING2(x)

#pragma message (__FILE__ "(" STRING(__LINE__) "): test")

使用编译器实际解释为警告的消息:

 #define STRING2(x) #x
#define STRING(x) STRING2(x)
#pragma message(__FILE__ "(" STRING(__LINE__) "): warning: My own compiler warning, which can be double-clicked to go to the source code line.")

我正在使用 Visual Studio 2022 编译 VS2017 项目,如果这有所作为的话。

原文由 Dirksche 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题