首页 > 代码库 > 静态库里的静态变量
静态库里的静态变量
我们知道,在C语言里面的静态变量,在程序运行上只有一份拷贝, 在程序的任何一处改变其值后, 其他地方再调用会得到已经修改后的值, 因此可以当做一个全局变量来使用.
但是,当系统比较庞大时,经常会将一些功能代码编译成各种库来调用,这里的库有静态库和动态库.
问题是, 当一个静态变量是定义在一个静态库里面时, 它是不是也只有一份拷贝呢,答案是不一定. 考虑这样的一个情况, 有一个静态库liba, 包含了静态变量x, 还有两个动态库dlib1, dlib2, 这两个动态库在创建时都包含了静态库liba, 因此静态变量x在两个动态库中分别有一份拷贝, 而且两个拷贝是独立的,互不影响的. 如果还是按照只有一份拷贝的想法去写程序, 就会出现莫名的问题.
静态库里的静态变量
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。