如何在C中模拟构造函数或静态块
收藏

我正在增强一个工具。
请注意,此工具将链接到测试程序,该程序将具有main( )功能,因此我的工具不能具有main。这个工具有许多测试程序将使用的功能。
另外,我想给这个工具添加一个计时器。其思想是:当测试程序链接到此工具并启动时,计时器应自动启动。
如果这是C++,我将用构造函数创建一个类,这样每当加载类时,构造函数首先被调用,并且我可以在构造函数中初始化我的计时器。
如果这是Java,我只需创建一个全局静态块,并将计时器代码放在静态块中。
但是我的工具在linux中是纯c语言的,所以我怎样才能实现这个目标呢?
请帮帮我。


最佳答案:

看起来你的案子也一样:
How do I get the GCC __attribute__ ((constructor)) to work under OSX?
从GCC文件:
构造器
析构函数
构造函数(优先级)
析构函数(优先级)
构造函数属性导致
要自动调用的函数
在执行进入main()之前。
类似地,析构函数属性
使函数被调用
在main()之后自动
已完成或退出()。
具有这些属性的函数是
对于初始化将

程序的执行。

公众号