静态存储区 最大限制为多大?
堆 最大是4G。
栈 默认是1M可以通过设置增加。
问题一:那么 静态存储区最大为多大?
问题二:编译时,设置生成的代码是32位机器和64位机器,是否有不一样 限制?
[解决办法]
堆最大也没有4G,因为整个进程的映像空间有一部分被映射给操作系统,另外栈也占据了一部分,全局,静态变量再占据一部分,还有其他代码数据占据一部分.
问题一:
静态存储区理论上有4G,但除掉刚才说的那些,一个静态存储区也不可能占据整个存储空间.
简单例子,可以测试一下:
- C/C++ code
char s_zone[0xFFFFFFFF + 1];int main(void){ return 0;}
[解决办法]
静态数据区没有限制的。
另外找出错原因去