• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > []一个有关COM和DLL的问题![]

[]一个有关COM和DLL的问题![]

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了comdata.dll,comservice.dll下载,com64.dll,comservice.dll,com utility.dll等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: []一个有关COM和DLL的问题![]
描述:

问一个有关内存的问题,如果一个COM联结了其他的DLL,然后此COM被同一进程多个线程生成多个COM对象,请问此COM联结的dll是否也被重复装入此进程的内存中间?是否COM静态联结和动态联结(LoadLibrary)结果不同?
  有办法验证吗?在线等高手解答!


解决方案1:

增加计数器而已

解决方案2:

代码不会因为线程的数量而重复加载,即使是进程,也都只是增加dll的一个引用记数而已,不会重复装入内存,但会被重复影射到不同进程的内存空间中。
“是否COM静态联结和动态联结(LoadLibrary)结果不同?”未解。动态指不用CoGetClassObject(名字可能记错)函数得到类厂指针,而代替COM运行时期库直接调用导出函数GetDllClassObject(名字可能记错)?
如果这样,那么得到的类厂的指针将不是一个代理,因此也就不能实现同步效果(即套间,如STA等),而通过此类厂创建的对象的指针也将都不是代理,也就是不具有同步效果(不能实现套间技术),但是如果楼主自己能保证客户端的程序的逻辑不会导致线程冲突大可这样,虽然这算一种“犯法”行为。
如果要检验上面的说法,楼主可象上面说的得到类厂指针(这样其实可以连COM运行时期库都不加载,不调用CoInititalize等相关函数),而COM组件又编成需要STA套间的,然后客户端用多个线程使用这个对象,楼主将会看到COM承诺的不用同步将会失败。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • com+服务,如何使用第三方的dll库?
  • COM+如何调用DLL?
  • COM和dll的概念有什么不同?
  • com的基础性问题关于dll的动态载入
  • COM和DLL在使用上有什么区别
  • 如何知道有哪些dll或com被调用,被那些应用调用?
  • 请问ACITVEX,DLL,COM的区别?
  • dll如何写成COM急在线等
  • 问题:COM封装DLL里的函数
  • COM是否可以调用DLL,是否可以使用结构体定义参数

相关文章

  • 2017-06-05 急问:GlobalAlloc可以用new代替吗
  • 2017-06-04 howtoregisterocxfilesofActiveXinruntime?
  • 2017-06-05 静态库中调用动态库
  • 2017-06-05 为什么我传如参数后就出错!!!
  • 2017-06-04 windowsmobilemsxml开发的问题
  • 2017-06-04 ActiveX打包成CAB嵌入页面,访问页面时需要登录服务器是什么原因?
  • 2017-06-04 如何跳转IE左侧垂直浏览器栏
  • 2017-06-04 就要学习com技术,以后请大家以后多多帮忙……在这里先献上100分
  • 2017-06-04 打开某文件,使用相对路径时出错
  • 2017-06-04 一个dll中包含多个com组件,为何不会自动注册多个组件?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 请问上那里下载侯俊杰的《ActiveX控制组件彻底研究》电子版?
    • 最简单的COM,有些疑问,不知道如何测试
    • Excel在指定单元格插入值
    • VCoffice编程求助,如何捕获消息
    • 关于comm的问题
    • 关于引入一个参数的问题,CString用什么来代替
    • 如何在控件上动态地显示文本和bmp图
    • ATL写控件ActiveX,在网页中刷新不够的问题!50立刻送上
    • 如何把c++的定义的com对象数组做为参数传递。谢谢
    • 关于MFC工程文件转移的问题?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有