C++ VisualStudio没有';我不认为它是用64位编译的

C++ VisualStudio没有';我不认为它是用64位编译的,c++,visual-studio-2010,64-bit,C++,Visual Studio 2010,64 Bit,所以我试图在VisualStudio2010中编译一个项目,我似乎在编译代码时遇到了问题 我有这段代码 #ifdef WIN_X64 extern "C" int gainAndFindMax (int cnt,int gain,PSHORT pInput,PSHORT pOutput); #else extern "C" int __fastcall gainAndFindMax (int cnt,int gain,PSHORT pInput,PSHORT pOutput); #

所以我试图在VisualStudio2010中编译一个项目,我似乎在编译代码时遇到了问题

我有这段代码

#ifdef WIN_X64  
extern "C" int gainAndFindMax (int cnt,int gain,PSHORT pInput,PSHORT pOutput);
#else
extern "C" int __fastcall gainAndFindMax (int cnt,int gain,PSHORT pInput,PSHORT     pOutput);
 #endif 
这是一对由同事编写的汇编函数。 但是,出于某种原因,它会继续向#else语句编译,就好像它不是以64位编译一样。 我有我的所有项目设置设置为64位,它应该都设置正确,但由于某些原因 “extern”C“int-gain和findmax(int-cnt,int-gain,PSHORT-pInput,PSHORT-pOutput);”呈灰色显示,似乎无法编译。
非常感谢您的帮助

您应该查看的宏是
\u WIN64
(或者至少是
\u M u X64
),取自您应该查看的宏是
\u WIN64
(或者至少是
\u M u X64
),据我所知,
WIN u X64
在64位构建时不是预定义的符号。查看,您可能应该使用
\u M_AMD64
\u M_X64
。还有一个
\u WIN64
也将设置在所有64位体系结构上,而不仅仅是x64。

据我所知,
WIN\u x64
在64位构建中不是预定义的符号。查看,您可能应该使用
\u M_AMD64
\u M_X64
。还有一个
\u WIN64
也将在所有的64位体系结构上设置,而不仅仅是x64。

你应该使用
\u WIN64
\u x64
你应该使用
\u WIN64
\u M\u x64
你自己定义了
赢取x64吗?或者您正在寻找
WIN64
预处理器指令?您自己定义
WIN_X64
吗?或者您正在寻找
WIN64
预处理器指令?