如何判断您是否在Windows上编译?
_WIN32总是在Windows平台上定义,检出predefined macros。
只有在您的项目中包含某个文件或使用Visual Studio时才定义它。 – Amirshk 2010-01-31 22:46:31
虽然我似乎记得有一点惊喜,一旦Symbian模拟器的编译器定义了_WIN32或类似的东西。有意义的是,模拟器确实在Windows上运行,但我们实际上并不希望我们的Win32特定的子句适用于... – 2010-01-31 22:48:21
_WIN32宏由Microsoft C编译器(cl.exe)定义,它要求没有额外的#包含。 – 2010-01-31 22:51:35
这取决于你使用的是什么文件上。
编译器本身没有这样的标志,但在操作系统的SDK中有这样的定义是很常见的。
例如,CRT有一个Win32定义,它会影响它的编译方式。
我不完全确定我理解这个问题,但是,您可以这样做。很明显,你需要告诉编译器你在编译时在Windows(或者操作系统x)上编译。我已经看到类似的方法用于像整数这样的事情的位大小。
你使用什么编译器?答案可能取决于编译器。 – SoapBox 2010-01-31 22:44:03
Windows上的Visual Studio,Linux上的GCC – y2k 2010-01-31 22:44:36
在* Windows上编译*,或在* Windows上编译* – 2010-01-31 22:46:16