C++如何设置默认堆栈的大小

C++如何设置默认堆栈的大小,第1张

栈区是系统决定的,是一块不是很大的空间。当进入函数时,会将局部变量压入栈区保存,退出函数时,出栈释放掉。而堆区是用户自己的手动申请的,空间很大。用malloc系列函数申请,用free系列函数释放。

方法一:
打开eclipse,选择Window--Preferences在对话框左边的树上双击Java,再双击Installed
JREs,在右边选择前面有对勾的JRE,再单击右边的“Edit”按钮,
出现一个 Edit JRE 的对话框,在其中的Default VM Arguments: 框中输入 -Xms128m -Xmx512m
,这样设置Java拟虚机内存使用最小是128M,最大是512M,再单击“OK”关闭 Edit JRE 对话框,再单击“OK”关闭
Preferences对话框,Eclipse一下子就运行快了起来
方法二:
java project 可以右击工程 Run AS
-->选最下面Run-->
Arguments-->在VM arguments里面填
-Xmx256m。这样就可以设置它运行时最大内存为256m
方法三:eclipseini
-showsplash
orgeclipseplatform
--launcherXXMaxPermSize
128M
-vmargs
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m
-Dosgibundlefilelimit=100

据我所知,你需要重新编译内核,更改内核中关于程序栈大小的设置。26内核应该是4k。在make configuration里面应该有相关的说明。
如果想更改一个程序的栈,而不重新编译内核,可以采用动态申请子进程的方式,在进程初始化时可以设置该进程的栈大小。
在gcc的参数里,到现在我也没能找到关于栈大小的设置。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13164498.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-14
下一篇 2023-06-14

发表评论

登录后才能评论

评论列表(0条)

保存