主程序和动态库共享全局变量问题

iOS 码拜 10年前 (2015-05-03) 2327次浏览 0个评论
 

全局变量在一个静态库中定义
主程序和动态库都用到这个静态库
主程序加载的时候会初始化静态库中的全局变量
动态库中访问这个全局变量的时候是空的
怎么能让动态库中正确访问到主程序初始化的那个全局变量

不要在加载的时候传值给动态库

ps:这里不讨论iphone用动态库能否通过审核问题,只运行在越狱机子上。

主程序和动态库共享全局变量问题
20分
看下static 的用法是否符合你的项目 , 具体分析 
主程序和动态库共享全局变量问题
20分
如果程序已经运行了,静态库中的全局变量是已经初始化过的,怎么会是空的?

你要确定动态库是在程序运行后加载的么?还在程序一开始,没加载完数据(包括静态库中全局变量),
动态库就开始读静态库数据了?

主程序和动态库共享全局变量问题
程序运行时初始化变量
程序运行过程中使用这个变量都是没有问题的
当动态加载动态库后,动态库里面再访问这个变量就是空的,主程序里访问还是正常的

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明主程序和动态库共享全局变量问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!