静态库里的静态变量
来源:互联网 发布:元老院知乎 编辑:程序博客网 时间:2024/05/16 23:45
我们知道,在C语言里面的静态变量,在程序运行上只有一份拷贝, 在程序的任何一处改变其值后, 其他地方再调用会得到已经修改后的值, 因此可以当做一个全局变量来使用.
但是,当系统比较庞大时,经常会将一些功能代码编译成各种库来调用,这里的库有静态库和动态库.
问题是, 当一个静态变量是定义在一个静态库里面时, 它是不是也只有一份拷贝呢,答案是不一定. 考虑这样的一个情况, 有一个静态库liba, 包含了静态变量x, 还有两个动态库dlib1, dlib2, 这两个动态库在创建时都包含了静态库liba, 因此静态变量x在两个动态库中分别有一份拷贝, 而且两个拷贝是独立的,互不影响的. 如果还是按照只有一份拷贝的想法去写程序, 就会出现莫名的问题.
0 0
- 静态库里的静态变量
- matlab里的静态变量
- 多线程和函数里的静态变量
- 全局变量、局部变量、静态全局变量、静态局部变量在内存里的区别
- 全局变量、局部变量、静态全局变量、静态局部变量在内存里的区别
- 全局变量、局部变量、静态全局变量、静态局部变量在内存里的区别 .
- 全局变量、局部变量、静态全局变量、静态局部变量在内存里的区别
- 全局变量、局部变量、静态全局变量、静态局部变量在内存里的区别
- 全局变量,局部变量,静态全局变量,静态局部变量在内存里的区别
- 全局变量、局部变量、静态全局变量、静态局部变量在内存里的区别
- 静态库和动态库里的全局变量(或类的静态成员变量)共享和独立的问题
- g++里使用常静态成员变量的一个BUG
- 静态变量/非静态变量的区别
- 为什么不能从静态的方法里调用非静态的方法或变量
- 为什么不能从静态的方法里调用非静态的方法或变量
- 为什么不能从静态的方法里调用非静态的方法或变量
- 为什么从静态方法里不能调用非静态的方法和变量
- 关于java静态方法里只能调用静态变量的思考
- 怎么读C++ Primer
- lua闭合函数
- [wxWidgets]_[初级]_[不常见但实用的类wxStandardPaths]
- erlang判断模块导出函数问题
- Android自定义控件
- 静态库里的静态变量
- linux系统编码及vim编码使用说明
- PHP分页
- 周报--FPGA
- android控制软键盘显示与隐藏
- 循环登录问题
- android/iphone/windows/linux声波通讯库
- Spring基于注解方式的事务管理
- tabbar的隐藏和显示