c++ - Visual Studio 似乎不认为它是在 64 位中编译的

标签 c++ visual-studio-2010 64-bit

所以我正在尝试在 Visual Studio 2010 中编译一个项目,但我似乎在编译代码时遇到了问题。

我有这段代码

#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 gainAndFindMax (int cnt,int gain,PSHORT pInput,PSHORT pOutput);"显示为灰色,似乎无法编译。 非常有帮助

最佳答案

您应该查看的宏是 _WIN64(或至少是 _M_X64),取自 here

关于c++ - Visual Studio 似乎不认为它是在 64 位中编译的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9632065/

相关文章:

visual-studio-2010 - 如何使用 TFS 查看目录的更改日志?

windows - 在 x64 中第二次 RichEdit 初始化后崩溃

c++ - Windows Mobile 的 STL 容器支持

c++ - 作为右值 (c++) 在函数中传递的左值会发生什么?

c++ - 为什么或为什么不在 C++ 中使用 memset?

c++ - 仅由非常大的随机输入引起的分段故障核心在出队前转储到 pqueue 堆中

visual-studio-2010 - 当我们在解决方案中运行所有测试时,为什么不包含新的单元测试项目?

c# - 防止 Winforms Designer 为继承的控件生成属性值

.net-3.5 - 32 位与 64 位性能

c++ - 将我的 MMX Intrinsics 转换为 x64 (SSE) 我做错了什么?