佚名通过本文主要向大家介绍了
问个特菜的问题。在相同的软硬件环境下,将函数写在COM组件里和写在普通DLL里,哪个效率更高些?等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 问个特菜的问题。在相同的软硬件环境下,将函数写在COM组件里和写在普通DLL里,哪个效率更高些?
描述:
解决方案1:
描述:
可否顺便说明一下理由?当然,有测试数据最好了。多谢指点。
解决方案1:
如果仅就函数本身的调用而言,应该是一样的(远程调用除外)。
但是由于COM在调用到函数前,有一系列的准备,所以直接调用效率高。
我一直以为我在CSDN只能放分,没想到这里居然有得分的机会。
楼主,不要吝啬,给我点分吧。
其实是一样的了。
COM接口是通过DLL实现的,
但是如果你的COM组件包含在EXE内,就不一样了。这样的进程间调用通过“远程过程调用”
完成,效率就底得多。而且还涉及到参数在不同进程空间内的传递问题。
另:
读注册表确实需要时间,但是用户基本上不会感觉到的。
可是语言无关恰恰是COM的优点和设计目的所在,么有太大的可比性,毕竟应用范围有所不同。
如果只是把COM作为DLL能够实现的效果来用,那DLL效率要高些吧...
写在DLL中
然后通过LoadLibrary,GetProcAddress...来调用
这样的做法效率应该比使用COM来得高