在 MSVC 2010 命令行中强制进行 32 位编译

Force 32 bits compilation in MSVC 2010 commandline

是否有一个选项可以在 MSVC 2010 命令行可执行文件中指定以强制进行 32 位编译?如果有,那是什么?

感谢您的帮助,

此致。

编译 32 位的命令行需要额外的 /D "WIN32"

这将简单地定义 WIN32。对于 64 位和 32 位,像 INT_PTR 这样的宏的解释是不同的。例如,INT_PTR定义如下:

#if defined(_WIN64)
    typedef __int64 INT_PTR, *PINT_PTR; //64bit
    ...
#else
    typedef _W64 int INT_PTR, *PINT_PTR; //32bit
    ...
#endif

此外,64 位的 link 选项包括 /MACHINE:X64

对于 32 位必须更改为 /MACHINE:X86

您可以在 Visual Studio 中创建示例项目,然后在项目属性中显示 C/C++ 编译和 link 的命令行选项。