gpt4 book ai didi

c++ - 如何知道堆栈函数消耗了多少?

转载 作者:太空宇宙 更新时间:2023-11-03 10:43:54 25 4
gpt4 key购买 nike

最近,我在接受采访时遇到了这个问题:
我们如何确定特定函数在堆栈上消耗了多少存储空间?

最佳答案

众所周知,“堆栈”是平台的一个实现细节,无法从语言本身内部检查或以任何方式查询。在 C 或 C++ 程序的任何部分内,基本上不可能保证是否有可能进行另一个函数调用。 “堆栈大小”,或者更恰本地称为“函数调用和局部变量存储深度”,是语言标准承认其存在但被认为超出范围的实现限制之一。 (例如,对于 C++,请参阅 [implimits],附件 B。)

个别平台可能会提供 API 以允许程序自省(introspection)平台限制,但 C 和 C++ 均未指定这一点或如何实现。

超出实现定义的资源限制会导致未定义的行为,并且您不知道是否会超出限制。

关于c++ - 如何知道堆栈函数消耗了多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27203813/

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