下面是一个最简单的 C++ 程序:
x64test.cpp
int main()
{
char * p = new char[0xffffffffff];
}
我的意图是分配一个大于 4G 的大缓冲区。在本机 64 位进程中,应该没问题;但 Visual Studio 2011 Beta 拒绝编译 x64test.cpp 并重新报告:“错误 C2148:数组的总大小不得超过 0x7fffffff 字节”。
根据文章,我应该使用原生 64 位编译器来编译 x64test.cpp。但是,Visual Studio 只能作为 32 位进程启动,因此 msbuild.exe 和 cl.exe 始终作为 32 位进程运行。
我曾尝试将解决方案平台配置为 x64,但没有效果。
我已经使用所谓的原生64位编译器通过以下步骤成功编译x64test.cpp:
1、以管理员身份启动cmd.exe;
2、cd C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\amd64;
3、cl x64test.cpp
我的问题是:
有没有办法在 Visual Studio IDE 中启用本机 64 位编译器?