C++ 带有u宏的奇怪输出

C++ 带有u宏的奇怪输出,c++,winapi,C++,Winapi,为什么宏_文件__________________________________________?在这两台计算机上,我都有MSVC-10.0和Win7 当然,标准并不能保证这一点: ISO/IEC 14882:2011 16.8预定义宏名称[cpp.预定义] __文件\当前源文件的假定名称为字符串文字 MSDN对此宏进行了如下说明: __文件__ 当前源文件的名称__文件u uu扩展为一个由双引号包围的字符串 我不会在两台计算机上都使用key/FC。这是否发生在同一个项目上?@shiplu.m

为什么宏_文件__________________________________________?在这两台计算机上,我都有MSVC-10.0和Win7

当然,标准并不能保证这一点:

ISO/IEC 14882:2011

16.8预定义宏名称[cpp.预定义]

__文件\当前源文件的假定名称为字符串文字

MSDN对此宏进行了如下说明:

__文件__

当前源文件的名称__文件u uu扩展为一个由双引号包围的字符串


我不会在两台计算机上都使用key/FC。

这是否发生在同一个项目上?@shiplu.mokadd.im否,但所有设置看起来都一样/FC重要。当您使用/ZI编译时,它是强制启用的。因为它们都是当前源文件的名称,所以在编译器级别没有任何错误。项目的设置方式必须存在一些关键差异;某些编译选项或其他IDE设置。如果文件添加了非相对引用,并且保持源文件名唯一,则编译器可能需要对整个路径进行编码。我不认为有一个标准的保证,他们应该是,但这似乎是一个有价值的事业。