社区
C++ 语言
帖子详情
当C++的静态成员邂逅DLL。。。
ccnyou
2012-08-12 05:12:20
基类作为一个公共模块,exe和dll均有定义,其中有个成员:m_SharedObj,dll定义了一个子类,在exe中给这个成员初始化并赋值后,调试发现,在dll中的m_SharedObj仍为空,并且两者地址也不同。。。这个跟CPP标准是不是冲突了呢?调试环境:WinXP+VS2008
...全文
185
11
打赏
收藏
当C++的静态成员邂逅DLL。。。
基类作为一个公共模块,exe和dll均有定义,其中有个成员:m_SharedObj,dll定义了一个子类,在exe中给这个成员初始化并赋值后,调试发现,在dll中的m_SharedObj仍为空,并且两者地址也不同。。。这个跟CPP标准是不是冲突了呢?调试环境:WinXP+VS2008
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rendao0563
2012-08-13
打赏
举报
回复
1. 使用规则来规避错误.
2. 了解细节来规避错误.
很明显你不满足2号条件
珍惜生命远离CPP
2012-08-13
打赏
举报
回复
[Quote=引用 7 楼 的回复:]
引用 6 楼 的回复:
反对5L意见"dll里面写类。。这个,会迟早出事",不解释。
请看腾讯的common.dll,里面一大堆导出类
[/Quote]
这个 你不是出事了么?
taodm
2012-08-13
打赏
举报
回复
导出类因为陷阱太多,所以才建议不要用。你没有腾讯那么多人力去越过这么多陷阱。
ccnyou
2012-08-13
打赏
举报
回复
[Quote=引用 8 楼 的回复:]
引用 7 楼 的回复:
引用 6 楼 的回复:
反对5L意见"dll里面写类。。这个,会迟早出事",不解释。
请看腾讯的common.dll,里面一大堆导出类
这个 你不是出事了么?
[/Quote]
但是并不是说不能导出类啊
ccnyou
2012-08-12
打赏
举报
回复
[Quote=引用 6 楼 的回复:]
反对5L意见"dll里面写类。。这个,会迟早出事",不解释。
[/Quote]
请看腾讯的common.dll,里面一大堆导出类
RLib
2012-08-12
打赏
举报
回复
反对5L意见"dll里面写类。。这个,会迟早出事",不解释。
localxiao
2012-08-12
打赏
举报
回复
dll不共享变量,所有加载dll的进程,会拷贝一份实例
如果你要共享变量,把变量加到共享数据段里面去
ps. dll只是作为共享代码用的,而且,dll里面写类。。这个,会迟早出事
titer1
2012-08-12
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
基类作为一个公共模块,exe和dll均有定义,其中有个成员:m_SharedObj
问题出在这里
请确定m_SharedObj对于DLL是否为导出,对于exe是否为导入。
[/Quote]
++
被作者文艺的问题名字吸引
RLib
2012-08-12
打赏
举报
回复
基类作为一个公共模块,exe和dll均有定义,其中有个成员:m_SharedObj
问题出在这里
请确定m_SharedObj对于DLL是否为导出,对于exe是否为导入。
taodm
2012-08-12
打赏
举报
回复
所以啊,珍惜生命,远离扩展dll,只使用纯C接口的标准dll。
xiaohuh421
2012-08-12
打赏
举报
回复
只要指针指向正确的地址,是可以共享的. 你最好是调试看看,是哪里出了问题.
【Linux】gcc&g++与 [ 动静态库 ] 的美妙
邂逅
(5)
讲解了函数库,Linux编译器-gcc/g++使用,使用g++指令控制【翻译】各个过程,【.obj文件】与库的链接,以及-static指令等
QT5.14.2 VS2022环境下FFmpeg与QT的完美
邂逅
(1)、FFmpeg 介绍FFmpeg,一个强大而灵活的音视频处理库,几乎支持所有的音视频格式。掌握FFmpeg,意味着你已经迈出了成为音视频领域专家的第一步。而QT,作为一个跨平台的
C++
图形用户界面应用程序框架,它的灵活性和强大的功能库使其成为开发者的最爱。将FFmpeg与QT结合,你将能够打造出既美观又功能强大的音视频应用。(2)、FFmpeg 版本说明FFmpeg有三种主要的版本类型:静态库版本、动态库版本和源码。A、静态库版本(Static)
文章推荐列表(个人收藏)
const限定修饰符用法总结 C/
C++
cpper 0 3 2011-11-28 11:37 win32
c++
编写系统服务程序 C/
C++
cpper 0 2 2011-11-28 11:34 V
C++
(.Net)GDIPlus的使用方法 C/
C++
cpper 0
经典面试题(不断更新中)
——————————————————————–史上最强面试题————————————————————————————-AIDL1、 要使用AIDL的前提的条件我们要只知道它是干什么的? #AIDL 也就是在Android中定义的一个语言,他是进行进程间通讯的一种实现方式,通过定义AIDL接口,可以实现进程间通讯机制 2、 要知道它的使用步骤,前提条件?? #需求:比如现在有2个进程需
sql server 函數
sql server 函數silver6 | 09 十二月, 2005 11:07 1.字符串函数 长度与分析用 datalength(Char_expr) 返回字符串包含字符数,但不包含后面的空格 substring(ex...
C++ 语言
64,650
社区成员
250,478
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章