【发布时间】:2018-08-15 22:47:43
【问题描述】:
我已尝试编译此 C 代码:
#define MAX_INT 2147483647
int main()
{
int vector[MAX_INT];
return 0;
}
我正在使用 MinGW 和 MSYS 项目提供的 C 编译器,即 MinGW / MSYS。 MinGW 编译器是“gcc version 6.3.0 (MinGW.org GCC-6.3.0-1)”,是最新版本,有win32线程模型,MSYS 编译器是“gcc version 3.4.4 (msys special)”使用 posix 线程模型。
MAX_INT 常量值设置在“limits.h”头文件提供的常量“__INT_MAX__”中。
如何避免这个问题并编译我最简单的代码?
【问题讨论】:
-
这是 8 GB 的
ints。你编译为64位吗?你有 8 GB 的内存吗?然后尝试malloc它,因为它肯定不适合堆栈。 -
请问:您打算如何处理所有这些整数?
-
没有。我没有那么大的内存。感谢您的澄清。
-
@GracoBabeuf 上面的代码究竟如何帮助您构建 OpenSSH?
-
那你就不需要了。问题解决了。