1
COM里的DLL(进程内组建)有FACTORY,即使从新获得新版本的dll,程序也不需要从新编译。
而动态链接库大多得从新编译了2
COM从注册表中寻找组建
DLL得指定文件大家看我说得对否,还有得请补充!

解决方案 »

  1.   

    动态库本身都是一样的,只是COM的动态库按照协议暴露了几个标准接口
    在动态库被调用的方式上,普通的动态库由你自己加载,而COM的动态库由系统根据你CoCreateInstance传入的参数找到已经在注册表中注册的COM动态库来进行加载
      

  2.   

    COM必须导出那几个标准的导出函数。普通DLL就没有什么限制了!
      

  3.   

    COM中间有标准接口IUNKNOWN
    不知道DLL中间有没有
      

  4.   

    It's not a must to have a class factory while implementing a COM component.
    You can implement a COM component either by class factory or by IUnknown interface
      

  5.   

    [引用楼主]
    1
    COM里的DLL(进程内组建)有FACTORY,即使从新获得新版本的dll,程序也不需要从新编译。
    而动态链接库大多得从新编译了===========只要你的DLL的接口没变, 你的EXE一样不需要重新编译。这一点和COM是类似的。我的工程就是如此。