它是如何确定的?这是否取决于编译器/架构/主机系统?
例子:
int array[0x8000000000000000];
对于 x86_64 位系统 GCC 输出中的这一行:
Error "size of array 'array' is too large".
它是如何确定的?这是否取决于编译器/架构/主机系统?
例子:
int array[0x8000000000000000];
对于 x86_64 位系统 GCC 输出中的这一行:
Error "size of array 'array' is too large".
我假设静态数组是指一个固定长度的数组(静态分配的,例如int array[SIZE]
,不是动态分配的)。数组大小限制应取决于声明的数组范围。
ulimit -a
查看和ulimit -s STACK_SIZE
修改堆栈大小。static int array[SIZE]
),则该数组再次存储在 DATA 或 BSS 部分中(分别基于数组是初始化还是未初始化)。DATA 和 BSS 部分的大小由底层操作系统决定。