Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 在visual studio 2010中,未编译#ifdefine下的WINDOWS语句_C_Windows_Visual Studio 2010 - Fatal编程技术网

C 在visual studio 2010中,未编译#ifdefine下的WINDOWS语句

C 在visual studio 2010中,未编译#ifdefine下的WINDOWS语句,c,windows,visual-studio-2010,C,Windows,Visual Studio 2010,我在VisualStudio2010的dll项目中编写了一个小条件语句,如下所示 #ifndef WINDOWS int a=10; #endif 根据上述条件语句mnt,对于windows操作系统,不应包含此语句(int a=10)。但编译时也应包含此语句(int a=10) 我找不到问题。由于WINDOWS未在任何地方定义,因此将包含该变量。没有这样的预定义宏 尝试使用\ifndef\u WIN32或\ifndef\u WIN32宏来识别相关编译器定义的操作系统 引述自: 预定义宏 编译器

我在VisualStudio2010的dll项目中编写了一个小条件语句,如下所示

#ifndef WINDOWS
int a=10;
#endif
根据上述条件语句mnt,对于windows操作系统,不应包含此语句(int a=10)。但编译时也应包含此语句(
int a=10


我找不到问题。

由于WINDOWS未在任何地方定义,因此将包含该变量。没有这样的预定义宏


尝试使用
\ifndef\u WIN32
\ifndef\u WIN32

宏来识别相关编译器定义的操作系统

引述自:

预定义宏 编译器定义以下宏来标识平台

Macro   Meaning
_WIN64  A 64-bit platform.
_WIN32  A 32-bit platform. This value is also defined by the 64-bit compiler for backward compatibility.
_WIN16  A 16-bit platform.
以下宏特定于该体系结构

Macro    Meaning
_M_IA64  A 64-bit Intel platform.
_M_IX86  A 32-bit Intel platform.

因为
WINDOWS
不是预定义的。