LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1637|回复: 4

如何在动态链接库里共享全局变量?

[复制链接]
发表于 2004-2-29 12:05:59 | 显示全部楼层 |阅读模式
rt
发表于 2004-3-1 14:50:48 | 显示全部楼层

用extern

在一个SO里面定义一个变量,而在另一个里面声明该变量为EXTERN的,就可以了
发表于 2004-3-1 21:01:25 | 显示全部楼层
楼上的你试过吗?
http://gcc.gnu.org/ml/gcc/2003-12/msg00976.html
及其回复
发表于 2004-3-20 23:40:26 | 显示全部楼层

keenor给的方法有点问题

u1运行显示global的值是5,然后退出(共享库会被卸载),运行u2修改了global的值为50,再退出(共享库会被卸载,变量值丢失),u1再次运行时u2已经退出了,所以显示的值仍然为5,除非u2挂起不退出,运行u1将我认为应该看到global=50(我没试);

如果一定要这样共享该变量的值(两个进程不同时运行),必须将global的值保存在某个地方,如磁盘等非易失存储,再次使用则从这里读出;否则两个进程必须同时运行
发表于 2004-3-22 19:16:13 | 显示全部楼层
大哥,你就按照你说的方法试一下嘛,又不是很麻烦,看看u2不退出的情况下,u1到底打印多少,然后你再跳出来嚷嚷某某某有问题,可好?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表