检索对通过atexit()注册的函数的引用

时间:2012-01-19 12:27:13

标签: c gcc glibc atexit

对于使用atexit()注册的函数:是否可以检索对它们的引用,直接调用它们?

虽然这是一般性问题,但欢迎使用gcc / glibc的解决方案。

2 个答案:

答案 0 :(得分:3)

不是以任何便携方式,不是。已注册函数的列表由运行时库拥有,并且没有可访问它的接口。

根据您的评论,对于glibc细节,退出处理程序由exit.cexit.h实现。我没有充分研究它们,以便弄清楚它是否可以钻取抽象/数据隐藏。您可能需要例如例如,包括可能通常不可用的特定于glibc的标头。

答案 1 :(得分:2)

没有。但是,如果您可以控制应用程序中的所有代码,则可以自己维护一个列表,并将单个函数注册到系统终止时将通过列表运行的实际atexit()

相关问题