码迷,mamicode.com
首页 > 其他好文 > 详细

静态库里的静态变量

时间:2014-11-01 01:06:39      阅读:323      评论:0      收藏:0      [点我收藏+]

标签:c++   c   全局变量   静态库   

我们知道,在C语言里面的静态变量,在程序运行上只有一份拷贝, 在程序的任何一处改变其值后, 其他地方再调用会得到已经修改后的值, 因此可以当做一个全局变量来使用.

但是,当系统比较庞大时,经常会将一些功能代码编译成各种库来调用,这里的库有静态库和动态库. 

问题是, 当一个静态变量是定义在一个静态库里面时, 它是不是也只有一份拷贝呢,答案是不一定. 考虑这样的一个情况, 有一个静态库liba, 包含了静态变量x, 还有两个动态库dlib1, dlib2, 这两个动态库在创建时都包含了静态库liba, 因此静态变量x在两个动态库中分别有一份拷贝, 而且两个拷贝是独立的,互不影响的. 如果还是按照只有一份拷贝的想法去写程序, 就会出现莫名的问题. 


静态库里的静态变量

标签:c++   c   全局变量   静态库   

原文地址:http://blog.csdn.net/lutx/article/details/40663741

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!