4

如何增加 C 程序的内存限制。我正在使用代码块并尝试以下代码 -

int arr[10000000]

它给了我运行时错误。我正在使用 Linux(Fedora)。有什么帮助...?

4

2 回答 2

3

这个声明发生在哪里?我认为它应该适合 Linux 机器的内存,但可能不适合堆栈,除非您采取特殊操作(例如ulimit -s)。一般来说,使用大型本地 C 样式数组不是一个好主意——事实上,除了特殊情况,使用本地数组根本不是一个好主意。只需像定义 C++ 中的任何普通数组一样定义它:

std::vector<int> arr( 10000000 );

这会将实际数据移动到堆上,这可能是如此大的数据集所属的地方。

于 2013-01-04T18:33:02.693 回答
0
int arr[10000000];

它对我有用.. 我不认为这取决于 C::B,我认为这是来自您的计算机。

于 2013-01-04T18:30:13.047 回答