我无法将大数组传递给 C 中的函数。
我声明:
int image[height][width][3]={};
其中高度和宽度可以大到 1500。当我打电话时:
foo((void *)image,height,width);
声明如下:
int *foo(const int *inputImage, int h, int w);
我收到分段错误错误。奇怪的是,如果我的价值观是:
height=1200;
width=290;
没有问题,但是当它们是:
height=1200;
width=291;
我得到提到的错误。每个整数 4 个字节,高度和宽度均为 1500(绝对最坏的情况),数组大小为 27MB,imo 不是那么大,也不应该真正重要,因为我只传递了一个指向第一个元素的指针数组。有什么建议吗?