首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

linux下,进程的堆栈大小到底是OS决定的还是编译器决定的?解决办法

2012-03-13 
linux下,进程的堆栈大小到底是OS决定的还是编译器决定的?如果是OS决定的,所有进程堆栈大小应该都是一样的

linux下,进程的堆栈大小到底是OS决定的还是编译器决定的?
如果是OS决定的,所有进程堆栈大小应该都是一样的吧?

但是clone函数
int clone(int (*fn)(void *), void *child_stack, int flags, void *arg)
又可以在运行时决定堆栈的大小,这似乎不是系统规定好的。

如果是编译器在链接的时候决定的,那么就应该不能动态修改啊。如何解释clone函数可以设定堆栈大小呢?

谢谢!

[解决办法]
Windows下,对于VC编译器,据说是链接的时候指定的。
[解决办法]
ulimit -s xx




[解决办法]
系统肯定有默认的堆栈大小,但是用户在创建进程时,也是可修改的。

热点排行