下载 >  开发技术 >  C++ > 静态库和动态库里的全局变量(或类的静态成员变量)共享和独立的问题

静态库和动态库里的全局变量(或类的静态成员变量)共享和独立的问题 评分:

测试代码说明以下两个问题: 1. 工程中包含静态库A,动态库B,可执行程序C。C依赖于A和B,而B依赖于A。在A中定义有全局变量X(或类的静态成员变量),则在动态库B中访问的X,与可执行程序C中访问的X是同一个变量还是两个不同的变量? 答案:是两个不同的变量。 2. 工程中包含动态库A,动态库B,可执行程序C。C依赖于A和B,而B依赖于A。在A中定义有全局变量X(或类的静态成员变量),则在动态库B中访问的X,与可执行程序C中访问的X是同一个变量还是两个不同的变量?(注:所有库都在同一进程中使用) 答案:是共享同一个变量。即:在A是动态库的这种情况下,B和C访问到的X是同一变量。 博文地址:http://blog.csdn.net/guggy/articl e/details/8136325 或即时记:http://www.livelog.cn/bbs/viewthread.php?tid=16
...展开详情收缩
2012-11-01 上传大小:82KB
分享
收藏 举报

评论 共10条

u012385733 是window 编程代码.不是linux c,很有参考意义,不过第一个结论,在linux 中并不是一样: 1.最终生成的可执行程序,全局变量在编译链接的时候已经确定好,如果静态a定义与动态库b全局变量重名,那么编译器会选择先链接的那个库的全局变量,后面再出现重义,则忽略.无论怎么,一个可以执行的程序,对于重名的定义,都只留了一个符号,重名函数也是一样的. https://blog.csdn.net/u012385733/article/details/80915360
2018-07-05
回复
liaofengjun 简单的例子, 供懒人参考一下
2016-10-05
回复
feng9876 最简单的例子了
2015-09-07
回复
clanbin_cpp 谢谢,学到了点东西
2014-11-16
回复
luojun50517545 挺好的,帮助挺大的
2014-11-10
回复
ywd_bill 最简单的例子了
2014-01-20
回复
lanyulianying 谢谢,很好用
2013-11-15
回复
taotaoz2710 确实很有用处 ,受教了
2013-07-05
回复
l5201314131413141314 确实有帮助
2013-03-21
回复
softwareceo 谢谢,很有帮助
2013-03-18
回复

热点文章

img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

静态库和动态库里的全局变量(或类的静态成员变量)共享和独立的问题

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
0 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
您还未下载过该资源
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: