gpt4 book ai didi

c - C中的自动进入退出跟踪

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

我是否必须在所有 C 函数中添加进入和退出日志?

如果,那么有没有任何可能的方法来自动编写函数的进入和退出(类似于java中使用面向方面编程的自动进入/退出)。

我正在编写的应用程序时间紧迫,为每个函数添加进入/退出语句可能会延迟性能,并且还会使代码不可读。

最佳答案

C 不支持任何形式的内省(introspection)或通过运行时或虚拟机中的魔术自动执行操作;没有虚拟机,运行时支持基本上只是提供标准功能的“死”代码库。

正如 Subtwo 指出的那样,如果您想做某事(例如登录/退出),则必须完成,因此需要时间。您不能只是“隐藏”该惩罚,放入它的开销非常小。

标准的分析器可能会给你一些洞察力,通过对你的程序进行统计抽样以查看执行了哪些函数,但这不会给你调用顺序,只是你的程序在被抽样时执行代码的随机位置。

您或许可以求助于一些预处理器技巧,这是执行诸如日志记录之类的“样板”内容的常用方法,例如定义一些宏,然后将其放置在每个函数的入口/导出点。不过,您必须记住包含宏,并且执行日志记录的任何性能损失当然都会存在。

关于c - C中的自动进入退出跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/633813/

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