当前位置: 技术问答>linux和unix
可执行程序加载动态库 和 动态库加载动态库 的动态库初始化的问题
来源: 互联网 发布时间:2017-01-31
本文导语: 本帖最后由 azure334 于 2012-01-24 17:26:18 编辑 各位好: linux下一个动态库A,其中应该是有一些全局变量的。 通过一个可执行程序加载动态库A(dlopen),这个没问题。用另外一个可执行程序加载动态库B,再...
linux下一个动态库A,其中应该是有一些全局变量的。
通过一个可执行程序加载动态库A(dlopen),这个没问题。用另外一个可执行程序加载动态库B,再由B加载A,B中调用方法与前可执行程序相同,这个就出问题了。调试查看调用栈,发现如下:
... _init -> __do_global_ctors_aux -> global constructors keyed to XXX(A中某类的构造函数)... ( -> 表示调用)
望高手解答原因,解决方法,越详细越好。谢谢!
|
名称冲突试试函数指针?
|
具体什么问题呢?内存非法访问?
最后出问题的地址是在A中某类的构造函数中吗?
最好把相关代码和完整的stack trace贴出来
最后出问题的地址是在A中某类的构造函数中吗?
最好把相关代码和完整的stack trace贴出来