gpt4 book ai didi

c++ - 堆栈上的最大激活记录

转载 作者:行者123 更新时间:2023-11-27 23:43:55 24 4
gpt4 key购买 nike

这个问题很简单。这是我在大学编程考试中遇到的一个问题。现在,我无法在任何地方找到答案。你们中有人知道堆栈中 AR 的最大数量是多少吗?在 C++ 中。

最佳答案

An activation record (aka stack frame)至少包含函数返回地址。例如,x86 CALL 指令将返回地址压入堆栈,RET 将其弹出。因此,理论上的最大值是 max_stack_size/sizeof(void(*)())。大多数函数使用参数和局部变量,它们也可能占用调用堆栈,以及 stack protection canaries。 .

您可以使用 ulimit -s bash 命令或以编程方式使用 getrlimit(RLIMIT_STACK, ...) 找出 max_stack_size .

关于c++ - 堆栈上的最大激活记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52330152/

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