android - crtbegin.o 和 crtbegin_dynamic.o 是什么?

标签 android c linux gcc android-ndk

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

最佳答案

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

关于android - crtbegin.o 和 crtbegin_dynamic.o 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2709864/

相关文章:

Android KSoap2 : how to get property name

c - 并行编程中 4 线程/4 进程的时序问题

c - 将字符串转换为代码?

python - 为什么我的 python 代码使我的服务器停滞不前?

linux - 将EFS挂载到现有目录中,如何返回那里的内容?

android - java.lang.NoClassDefFoundError : org. 乔达.time.DateTime

eclipse - 当我调试我的应用程序时,我经常遇到启动错误 : Failed to connect to remote VM

android - 启动画面仅在应用程序首次启动时打开

c - 动态矩阵问题。我该如何解决这个问题?

c - 在保留功能的同时合并 linux 中的两个程序