LinuxSir.cn,穿越时空的Linuxsir!

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

动态库的全局变量,要释放吗???

[复制链接]
发表于 2006-12-23 11:07:46 | 显示全部楼层 |阅读模式
我写了个.so文件.用到很多全局变量,现在问动态库的全局变量,要释放吗???:ask :ask :ask
发表于 2006-12-23 21:30:22 | 显示全部楼层
莫名
变量不管全局还是局部,和释放有什么关系?
你说的释放是指什么?
回复 支持 反对

使用道具 举报

发表于 2006-12-23 21:42:54 | 显示全部楼层
库中的全局变量所占用的内存,没有释放这个概念,程序退出时,系统会对其释放。

库中你动态分配(malloc或new)的变量,通常是谁分配的,就由谁对其进行释放。库的调用者没有这个义务。作为调用者,如果硬要去自行释放被调用库的内存,会出现一些莫名其妙的错误,碰巧的话,也是可以释放成功的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-26 11:57:27 | 显示全部楼层
我用了一些全局的HASH表。我想知道,库是否要删除这个hash表。防止内存泄露
回复 支持 反对

使用道具 举报

发表于 2006-12-26 16:41:29 | 显示全部楼层
只有动态分配堆内存时,才有可能导致内存泄露。你全局的HASH表,如果不存在动态内存分配行为,那有什么好担心的呢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-2 21:26:22 | 显示全部楼层
说的也是.呵呵.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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