关于Linux Loader Lock及__attribute__((constructor))构造函数在test.so加载wow.so场景中的技术咨询
关于Linux Loader Lock及__attribute__((constructor))构造函数在test.so加载wow.so场景中的技术咨询
嘿,我先把你当前的开发场景和实现细节梳理清楚,方便后续聚焦问题:
- 你正在开发一个名为
test.so的动态库模块,这个模块内部包含了加载并调用外部动态库wow.so的代码 - 为了验证
test.so的功能,你搭建了一个测试项目,整体的加载执行链路是:测试主程序(main)→ 加载test.so→test.so内部加载wow.so - 因为需要
test.so在被系统加载器加载时自动执行初始化逻辑,你使用了GCC的构造函数扩展语法,代码示例如下:
static void __attribute__((constructor)) my_init() { ... }
从这个场景来看,你大概率是遇到了和Linux动态加载器锁(Loader Lock)相关的问题?比如在my_init函数里加载wow.so时出现死锁、初始化顺序异常或者加载失败这类情况?如果能补充具体的错误信息或者不符合预期的行为,我可以帮你更精准地排查~
内容来源于stack exchange
相关产品推荐
相关产品推荐

