gpt4 book ai didi

c - 是否有设置进程堆栈/堆内存分配的功能?

转载 作者:太空宇宙 更新时间:2023-11-04 01:42:23 25 4
gpt4 key购买 nike

我知道这是一个操作系统功能。但是有没有一种方法可以通过 C 来增加整体堆栈或堆的大小? sbrk() 用于更改数据段的大小,对吗?这是否意味着堆栈和堆?

最佳答案

你提到了 sbrk() ,所以我假设你指的是 Unix/Linux。 sbrk() 会改变数据段的大小,但通常堆栈与数据段在不同的内存空间,以防止人们覆盖堆栈并做坏事。通常,您将在开始运行程序之前使用 ulimit 设置堆栈大小。从你的外壳。

注意:sbrk() 已弃用,取而代之的是 malloc() .

Open Unix 规范定义(Linux 实现)getrlimit()setrlimit()功能,这些功能还允许您玩弄系统限制。

关于c - 是否有设置进程堆栈/堆内存分配的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3077074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com