我想给程序分配更多的内存,有哪些gcc标志可以实现这一点?
顺便提一下,我试图创建一个非常大的矩阵(真的很大),稍后将对其进行压缩算法处理。因此,我无法避免创建这样一个大的矩阵来存储数据。
顺便提一下,我试图创建一个非常大的矩阵(真的很大),稍后将对其进行压缩算法处理。因此,我无法避免创建这样一个大的矩阵来存储数据。
您的问题不太清楚,但我猜测您正在尝试创建一个大型的多维数组(矩阵)作为某个函数(可能是主函数)的本地变量(自动变量),但这似乎失败了。
int foo(int boo, int doo) {
int big_array[REALLY_BIG];
...
您不需要任何特殊的gcc标志。
使用malloc
在运行时动态分配数组。
如果您不得不使用静态数组,或者如果您的环境默认设置限制了程序对虚拟内存的访问,那么您可能需要使用ulimit
命令。
ulimit -v unlimited
ulimit -d unlimited
malloc()
等函数是你的好朋友。