什么是crtbegin.o和crtbegin_dynamic.o?

the*_*tor 5 c linux android gcc android-ndk

undefined reference to _dso_handle使用Android x86工具链调试链接错误()时,我注意到它是静态链接crtbegin_dynamic.o.这个文件的目的是什么?crtbegin.o工具链安装目录中还有另一个类似的包含缺少的符号(_dso_handle).crtbegin.o和crtbegin_dynamic.o有什么区别?

小智 11

C++具有全局构造函数和析构函数.crtbegin.o和crtend.o处理调用那些构造函数和析构函数.crtbegin.o的变体(如crtbeginS.o)对其他类型的可执行文件(如静态可执行文件和共享库)执行相同的操作.


小智 -5

我认为它们与动态库(共享对象)和可执行文件有关,但不太确定。希望这能为您提供线索。