您的位置:首页 > 其它

obj、lib、dll、h之间的相互关系

2011-11-17 22:28 113 查看
在坛子里找的一些东西,整理下:

obj:是CPP对应的二进制代码格式,是未经重定位的!

lib: 是若干个obj的集合,本质与obj相同!

dll: 是可实际运行的二进制代码,有定位代码的!

h: 是头文件,也可算是源代码,因为当CPP中用#include时,会把包含的文件的内容在CPP中扩展开!

使用时,obj和lib是没有本质区别的,lib就是obj,使用lib地方都可以使用obj;

dll是动态连接库,是运行时动态加载的,而lib是静态的连接库,相当于程序编译的未经链接定位的二进制代码!(obj的一种表现形式)

h文件是用来编写函数(类,变量类型)原型声明的,通常dll、lib和obj的使用需要有h文件的配合,以获得二进制代码的原型声明!

当然使用dll时也可用GetProcAddress来配合避免使用h文件!

在使用DLL时也会有一个附加的lib是用来表明DLL的引出表而用的,其中的信息相当于一个obj中只有声明引出的部分,没有函数体。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: