gpt4 book ai didi

c - 如何知道一个函数是否会被最后一次调用

转载 作者:行者123 更新时间:2023-11-30 20:30:47 25 4
gpt4 key购买 nike

我正在为一个学校项目自制 malloc()、realloc() 和 free()。

我想知道是否有办法让我的函数 free() 知道这是否是他在程序中的最后一次调用。

编辑:我没有控制 main(),它是用于库的。

我想在最后使用 sbrk() 释放一次,因为现在我在使用 free() 之后调用它,而且它还没有优化。

(我删除了这段代码,因为我不想被学校罢工)

好像不可能..谢谢你的回复。

最佳答案

不,一般来说,没有办法知道某个函数是否是在程序执行中最后一次被调用。

可以设计一个程序来通过传递指示它的参数来传达这些知识。您必须将其构建到调用链中的所有函数中。即便如此,它可能会导致某些代码变得尴尬,因为某些循环的最后一次迭代可能需要特殊处理。

通常,最好在适当的时间调用单独的清理代码,而不是尝试以您似乎尝试的方式将其自动合并到例程操作中。

关于c - 如何知道一个函数是否会被最后一次调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53319480/

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