在 Visual Studio 2010 中使用 C++ 本机解决方案。
#pragma warning (push)
在所有包含之后,在 cpp 文件的开头使用。之后,有几个禁用警告#pragma warning(disable : XXXX)
。
#pragma warning(pop)
在文件末尾省略的可能后果是什么?
谢谢
在 Visual Studio 2010 中使用 C++ 本机解决方案。
#pragma warning (push)
在所有包含之后,在 cpp 文件的开头使用。之后,有几个禁用警告#pragma warning(disable : XXXX)
。
#pragma warning(pop)
在文件末尾省略的可能后果是什么?
谢谢
如果您有#include
该 cpp 文件的任何其他源文件,那么编译外部文件时的警告状态将被搞砸——当警告有保证时,它可能无法发出警告。
但是请注意,#include
使用 cpp 文件被认为是错误的格式和代码异味;在某些罕见的情况下,它可能是正确的做法(例如构建系统将#include
许多源文件合并为一个以减少编译时间,有点像预编译的头文件),但几乎总是做错事,即使它设法编译和链接没有错误。
如果该源文件#include
在其他任何地方都没有 d ,那么没有 a#pragma warning(pop)
不会产生任何不利后果,假设编译器首先没有抱怨这种不匹配。
由于这是仅编译器设置,因此不会对程序本身产生任何影响。它可能会搞砸外部包含的警告。