6

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

4

2 回答 2

11

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

于 2010-12-14T21:53:55.350 回答
-5

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

于 2010-05-05T01:12:42.947 回答