#pragma 警告 - 特定于文件?

Posted

技术标签:

【中文标题】#pragma 警告 - 特定于文件?【英文标题】:#pragma warning - file specific? 【发布时间】:2013-04-11 16:22:15 【问题描述】:

简单的问题,但我似乎无法在任何参考资料中找到答案。

如果我有一个#pragma warning() 指令,编译器是否只为当前文件定义它?还是通过我项目中其他文件中的#includes 传播?

这可能是一个更广泛的问题,不一定特定于#pragma,但这是我特别担心的情况。

【问题讨论】:

你把#pragma 警告放在哪里了?是cpp文件还是头文件? 你的编译器是什么? @Timo Geusch 我还没有把#pragma 放进去,我只是想知道我需要把它放在哪里,我需要它来保存多个文件。编译器是VC 2012。 【参考方案1】:

如果您将指令放在标头中,它将影响包含该标头的任何其他文件。它还会影响您使用后包含的任何标题。如果您担心使用此功能会影响其他文件,您可以使用#pragma warning (push)#pragma warning (pop) 撤消您只想在本地对一个文件进行的任何更改。

【讨论】:

以上是关于#pragma 警告 - 特定于文件?的主要内容,如果未能解决你的问题,请参考以下文章

#pragma 警告(push) 没有 #pragma 警告(pop)

msvc pragma 警告在 cpp 文件中省略“默认”

如何使用#pragma 警告禁用 CA1814?

编译器处理警告错误 #pragma GCC diagnostic ignored "-Wunused"

如何禁用#pragma 警告?

7.5 pragma 指令