使用 sprintf 时,编译器警告我该函数已弃用。
如何显示我自己的编译器警告?
原文由 Warpin 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用 sprintf 时,编译器警告我该函数已弃用。
如何显示我自己的编译器警告?
原文由 Warpin 发布,翻译遵循 CC BY-SA 4.0 许可协议
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 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
在 Visual Studio 中,
#pragma message ("Warning goes here")
附带说明,如果 您想禁止此类警告,请找到编译器警告 ID(对于已弃用的警告,它是
C4996
)并插入以下行:#pragma warning( disable : 4996
)