关于dll文件与tlb文件(tlb文件内并不包含组件类的实现文件,它只包含组件接口信息和组件类的声明信息)

.tlb文件是com组件的.IDL文件经过MIDLexe编译器编译后生成的供客户程序获取该COM组件接口信息的文件,因此是不包含接口的实现文件的。

COM组件的dll包含着真正的接口实现内容,tlb只是对COM接口和类的描述,程序通过tlb文件可以找到相应的dll文件和实现接口的类而已。

因此,导入类型库时候,即#import ‘xx.tlb'实际上在背后还是需要对于COM组件的支撑。

但是有些类型库直接使用#import ’xx.dll'是什么原因呢?这是因为该dll封装了tlb文件,实际上利用的还是tlb里面的定义内容。

tlb文件不是必须的,通过动态加载dll文件一样可以调用com组件。

猜你喜欢

转载自www.cnblogs.com/zhuluqing/p/8941733.html