Chinaunix

标题: so 动态库变量冲突问题 [打印本页]

作者: sunworld    时间: 2015-10-13 12:34
标题: so 动态库变量冲突问题
本帖最后由 sunworld 于 2015-10-13 12:43 编辑

问题:
设一全局变量a, 既在编译连接的可运行程序, 又在一独立的动态库中; 并且动态库和运行程序编译连接用同一份"a"所在的源原件. 可是在gdb调试运行程序时(这时也载入动态库), 发现a的值不对, 但程序还能正常进行.   

请问:
1.  在调试中, 怎么避免"a"的显示问题?
2. 有没有办法在编译连接时, 保证有没有动态库, "a" 唯一一个变量?
作者: hellioncu    时间: 2015-10-13 13:30
__attribute__((visibility ("hidden"))) int a;
作者: sunworld    时间: 2015-10-13 14:05
回复 2# hellioncu

好象不起作用


   
作者: happy_fish100    时间: 2015-10-13 15:34
同名变量有两份实例?这个问题必须要避免的啊!
作者: sunworld    时间: 2015-10-14 11:25
回复 4# happy_fish100
是, 有俩份, 一个运行程序里, 一个在动态库里, 当debug到动态库, 我看到的值不对.


   




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2