博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
tlb文件为何而生?
阅读量:2393 次
发布时间:2019-05-10

本文共 1706 字,大约阅读时间需要 5 分钟。

tlb文件是什么?

tlb(Type Library)文件是一个说明文件,通过TLB文件,用户可以得知你的DLL中的COM接口以及常量等信息。其可以单独发行,也可以作为组建DLL中的一个资源随组件一起发行。你可以在VS的Object Browser中看到该文件中包括哪些常数、接口、类,而每个类又包括什么方法和属性。微软提供的各种SDK中通常包括一个或数个TLB文件以方便编程。

 

怎么创建tlb文件?

MIDL.exe 和idl文件可以创建tlb文件,[ 1,2].

 

rc文件里面1TYPELIB "ProjectName.tlb"的用意?

一个组件DLL中可以包含多个型库文件(TLB),1代表第一个类型库文件。序号是必须的,这样客户可以使用序号通过LoadTypeLib()   等方法将指定TLB从DLL/EXE文件中导出.

 

怎么使用tlb文件?

可以把他随组件一起发行,发行方法[3]:

1.  text的方式打开rc文件。

2.  TEXTINCLUDE定义的地方加上以下行:

3 TEXTINCLUDE DISCARDABLE BEGIN"1 TYPELIB ""ProjectName.tlb""\r\n""\0"END

注意:在TEXTINCLUDE前面的数字是递增的,他应该是比你已有的TEXTINCLUDE 的 大1.

3.  .rc文件的最下方添加以下行:

#ifndef APSTUDIO_INVOKED/ //// Generated from the TEXTINCLUDE 3 resource.// 1 TYPELIB "ProjectName.tlb"  / #endif // not APSTUDIO_INVOKED

注意: 在TYPELIB"ProjectName.tlb"前面的数字也是递增的,1这里代表第一个tlb文件。

TEXTINCLUDE是啥?

TEXTINCLUDE主要是包含三种[4]:   

i.d.   Type   of   Set   Includes   information   
1   Symbol   Header   File  
 
2   Read-Only   Symbol   Directives  
 
3   Compile-Time   Directives  
 
这个是
MSDN对它的解释:   
The   purpose   of   the   TEXTINCLUDE   resource  is   to   safely   store   Set   Include  information   in   a   form   that   is   readily  presentable   in   Visual   C++ 's   Set  Includes   dialog   box.   TEXTINCLUDE   is   a  resource   type   defined   by   Visual   C++.  Visual   C++   recognizes   three   specific  TEXTINCLUDE   resources   that   have   the   resource  identification   numbers   1,   2   and   3.
 

 

下面是我的翻译:

TEXTINCLUDE  资源的目的就是以某种结构的形式,安全的存贮include集合信息,这样他就可以方便的在Visual  C++的Includes 集合设置框里显示出来。

TEXTINCLUDE   是 Visual   C++定义的一种资源类型。Visual  C++能够识别特定3种TEXTINCLUDE资源,他们的标识号分别是1,2,3.   

 

参考:

[1]http://topic.csdn/t/20010910/15/280442.html

[2]http://msdn.microsoft.com/en-us/library/windows/desktop/ms680078(v=vs.85).aspx

[3]http://www.vckbase.com/english/code/atl/typelibres.shtml.htm

[4] http://topic.csdn/t/20060805/20/4929692.html

转载地址:http://eehab.baihongyu.com/

你可能感兴趣的文章
Jackson 处理复杂类型(List,map)两种方法
查看>>
使用Apache Common的FileUpload的一点点注意事项
查看>>
arduino连接热敏打印机的资料
查看>>
用zxing生成条形码
查看>>
如何将OpenShift与eclipse集合使用
查看>>
Build Your Own PaaS on RHEL 6
查看>>
关于JAX-RS的导引阅读
查看>>
Markdown编辑器editor.md的使用
查看>>
FileServlet supporting resume and caching and GZIP
查看>>
spring boot etag header example
查看>>
关于大数据的两个大分支
查看>>
spring boot Websocket
查看>>
关于企业到个人的转账
查看>>
Angular4中调用js代码
查看>>
JAVA8-用lamda表达式和增强版Comparator进行排序
查看>>
Oracle 12CR2 Oracle Restart - ASM Startup fails with PRCR-1079
查看>>
poj 2140 Herd Sums
查看>>
poj 2524 Ubiquitous Religions
查看>>
poj 1308 Is It A Tree?
查看>>
poj 1611 The Suspects
查看>>