我正在研究一些C++代码,我遇到了一个问题,这个问题一直在唠叨我...假设我正在Linux主机上用GCC编译ELF目标,那里是全局静态构造函数和析构函数叫什么名字?
我听说crtbegin.o中有一个函数_init,crtend.o中有函数_fini.这些是由crt0.o调用的吗?或者动态链接器是否实际检测到它们在加载的二进制文件中的存在并调用它们 如果是这样,当它实际上给他们打电话?
我主要感兴趣的是,因为我的代码被加载,执行,然后在运行时卸载,所以我可以理解幕后发生的事情.
提前致谢!
更新:我基本上试图找出构造函数被调用的一般时间.我不想根据这些信息在我的代码中做出假设,或多或少地更好地了解我的程序加载时在较低级别发生的事情.我知道这是特定于操作系统的,但我试图在这个问题上稍微缩小一点.