1
我的問題如下:儘管此代碼是確定賽格故障
#include <stdio.h>
int main(void) {
double array[128][128][128];
printf("done");
return 1;
}
:
此代碼返回一個賽格故障(核心轉儲)
#include <stdio.h>
double array[128][128][128];
int main(void) {
printf("done");
return 1;
}
當然是內存問題,因爲如果我把主要功能放在聲明裏面:
float array[127][128][128];
該代碼運行良好。另一方面,如果我使用「malloc」在主函數內部分配多維數據集,代碼也可以正常工作。 我無法理解這個原因。有一個簡單的解釋?
感謝
我懷疑這是操作系統,而是編譯器設置。可能有一個編譯器(或鏈接器)開關允許更大的堆棧。 –