gpt4 book ai didi

C错误: size of array is too large

转载 作者:行者123 更新时间:2023-11-30 19:31:15 25 4
gpt4 key购买 nike

我尝试编译此 C 代码:

#define MAX_INT 2147483647

int main()
{
int vector[MAX_INT];
return 0;
}

我使用的是 MinGW 和 MSYS 项目提供的 C 编译器,即 MinGW/MSYS。 MinGW编译器是“gcc版本6.3.0(MinGW.org GCC-6.3.0-1)”,这是最新版本并且具有win32线程模型,MSYS编译器是“gcc版本3.4.4(msys专用)”使用 posix 线程模型。

该 MAX_INT 常量值在“limits.h” header 提供的常量“__INT_MAX__”中设置。

如何避免这个问题并编译最简单的代码?

最佳答案

你的堆栈不会那么大来容纳数组,这是主要问题。尝试按照 Increase stack size when compiling with mingw? 中的建议使用以下行设置堆栈大小编译时

gcc -Wl,--stack,N
where N is stack size. E.g. gcc -Wl,--stack,4194304

此外,正如评论中提到的,您可能必须编译 64 位,并且需要大量 RAM 或可能需要一个大页面文件。

关于C错误: size of array is too large,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49158599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com