我正在使用 Microsoft Visual Studio 2008,并成功地用 C++ 构建了一个命令行程序。
但是,对于我的自动构建,我在 MSVC 上下文之外调用 cl.exe 和 link.exe(我使用 Maven Native 构建,因为大部分项目是Java)。
在这种情况下,我设法生成了我的可执行文件。但是当我执行它时,我立即收到消息“程序太大,无法放入内存”。
内存没有真正的问题,当然:我有一台功能强大的 XP 机器,内存为 2 GB。我猜想可执行文件缺少正确的二进制 header ,我需要对 cl.exe 或更有可能对 link.exe 使用某些选项。
有什么想法吗?
最佳答案
在 GUI 中,在项目属性中,您可以分别在 C/C++ 和链接器部分的“命令行”下查看传递给 cl.exe 和 link.exe 的命令行选项。
看看、比较和对比,看看您的做法有何不同。
错误本身表明您的二进制文件 (.exe) 已损坏。参见 this了解更多信息。
关于c++ - 防止 "Program too big to fit in memory"的链接器选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1255498/