[****]一个有关COM和DLL的问题![****] 问一个有关内存的问题,如果一个COM联结了其他的DLL,然后此COM被同一进程多个线程生成多个COM对象,请问此COM联结的dll是否也被重复装入此进程的内存中间?是否COM静态联结和动态联结(LoadLibrary)结果不同? 有办法验证吗?在线等高手解答! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 代码不会因为线程的数量而重复加载,即使是进程,也都只是增加dll的一个引用记数而已,不会重复装入内存,但会被重复影射到不同进程的内存空间中。“是否COM静态联结和动态联结(LoadLibrary)结果不同?”未解。动态指不用CoGetClassObject(名字可能记错)函数得到类厂指针,而代替COM运行时期库直接调用导出函数GetDllClassObject(名字可能记错)?如果这样,那么得到的类厂的指针将不是一个代理,因此也就不能实现同步效果(即套间,如STA等),而通过此类厂创建的对象的指针也将都不是代理,也就是不具有同步效果(不能实现套间技术),但是如果楼主自己能保证客户端的程序的逻辑不会导致线程冲突大可这样,虽然这算一种“犯法”行为。如果要检验上面的说法,楼主可象上面说的得到类厂指针(这样其实可以连COM运行时期库都不加载,不调用CoInititalize等相关函数),而COM组件又编成需要STA套间的,然后客户端用多个线程使用这个对象,楼主将会看到COM承诺的不用同步将会失败。 我的VC程序用m_pConn->execute()语句进行SQLSERVER数据库恢复,但如果出错,try catch 却抓不到错误,为何?代码如下,请高手帮忙。 csdn的登录就不能搞得方便一点吗? 有关Tree control的问题 问二个很菜的问题 各位大侠帮帮忙啊,简单的问题 请问哪里有imapi.h啊? 怎样清空回收站? CSocket的OnReceive()怎么触发?(在线等) MFC中读取注册表键值和键名的问题! 求数码相机的SDK DELETE问题! 新手求助,如何防止函数重入?
如果这样,那么得到的类厂的指针将不是一个代理,因此也就不能实现同步效果(即套间,如STA等),而通过此类厂创建的对象的指针也将都不是代理,也就是不具有同步效果(不能实现套间技术),但是如果楼主自己能保证客户端的程序的逻辑不会导致线程冲突大可这样,虽然这算一种“犯法”行为。如果要检验上面的说法,楼主可象上面说的得到类厂指针(这样其实可以连COM运行时期库都不加载,不调用CoInititalize等相关函数),而COM组件又编成需要STA套间的,然后客户端用多个线程使用这个对象,楼主将会看到COM承诺的不用同步将会失败。