tlb,lib,tlh,dll

来源:互联网 发布:淘宝历史宝贝如何上架 编辑:程序博客网 时间:2024/05/19 14:18

 

vc6导入dll有时需要使用tlb文件

原因:

lib文件得看你是静态库还是动态库了,
如果是静态库,编译后所有的二进制文件都在LIB文件里
动态库的话,编译后的代码放在DLL中,LIB只是起个索引

TLB是组件服务的接口   
  而DLL包含了接口和实现   
  有些情况下,比如客户方需要远程调用,那么在客户机上部署dll是没有意义的,因为dll所需的环境在服务器上,而客户只需要dll里的接口定义部分,这个时候tlb就派上用场了 

---------------------

在导入tlb文件时,在stdafx.h中

#import "COMDLL.tlb" no_namespacenamed_guids

..没有no_namespace,编译时会找不到接口

..没有named_guids,编译可能会通过,但对所用的tlh中内容会找不到,可能挂

 

加入如上两个,编译后产生A.tlh和A.tli两个文件

.tlh相当于头文件,包含很多重要的定义,.tli则是具体的实现。
如果更新了tlb文件,需要在菜单里选择全部重新编译,否则编译器仍然会认为.tlh和.tli文件是最新的。

 

------补充.待续------