如何增加C程序的内存限制。我正在使用代码块并尝试以下代码 -
int arr[10000000]
它给了我运行时错误。我正在使用Linux(Fedora)。 任何帮助......?
答案 0 :(得分:3)
此声明发生在哪里?我认为它应该适合
Linux机器的内存,但可能不在堆栈中,除非
你采取了特殊行动(例如ulimit -s
)。一般来说,它是
使用大型本地C风格数组不是一个好主意 - 事实上,
除特殊情况外,使用本地不是一个好主意
数组。只需像定义任何普通数组一样定义它
C ++:
std::vector<int> arr( 10000000 );
这会将实际数据移动到堆上,这可能是 这些大型数据集所属的地方。
答案 1 :(得分:0)
int arr[10000000];
它对我有用..我不认为这取决于C :: B,我认为这是来自你的电脑。