.obj,.lib,.dll,.h之间的相互关系
2009-12-12 17:46
302 查看
1。.obj,.lib,.dll,.h之间的相互关系如何?使用的时候调用方式有什么不同?
2。怎么自己做一个.lib的文件?
3。工程文件中怎么使用obj.文件?
回答:
1.
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文件!
2.
在VC++中利用APPWIZARD可以建立一个LIB的工程,
file->new->projects->Win32 static library;
再将你的源文件添加到该工程中即可!
project->add to projects->files;
3.将obj文件添加到工程中即可!
project->add to projects->files;选择你的obj文件;
备注:
在使用DLL时也会有一个附加的lib是用来表明DLL的引出表而用的,其中的信息相当于一个obj中只有声明引出的部分,没有函数体。
2。怎么自己做一个.lib的文件?
3。工程文件中怎么使用obj.文件?
回答:
1.
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文件!
2.
在VC++中利用APPWIZARD可以建立一个LIB的工程,
file->new->projects->Win32 static library;
再将你的源文件添加到该工程中即可!
project->add to projects->files;
3.将obj文件添加到工程中即可!
project->add to projects->files;选择你的obj文件;
备注:
在使用DLL时也会有一个附加的lib是用来表明DLL的引出表而用的,其中的信息相当于一个obj中只有声明引出的部分,没有函数体。
相关文章推荐
- .obj,.lib,.dll,.h之间的相互关系。
- obj、lib、dll、h之间的相互关系
- .obj,.lib,.dll,.h之间的相互关系
- .obj,.lib,.dll,.h之间的相互关系
- OBJ、LIB、DLL与EXE之间的关系
- .obj, .lib, .dll, .exe的关系(附:lib和DLL的区别)
- h头文件、lib库文件及dll动态库文件之间的关系
- obj,lib,dll,exe的关系
- .h头文件、 .lib库文件、 .dll动态链接库文件之间的关系
- c++编译 (.obj, .lib, .dll, .exe的关系(附:lib和DLL的区别))
- .obj, .lib, .dll, .exe的关系
- .h头文件 .lib库文件 .dll动态库文件之间的关系
- .h头文件 .lib库文件 .dll动态库文件之间的关系
- .obj, .lib, .dll, .exe的关系
- c++编译 (.obj, .lib, .dll, .exe的关系(附:lib和DLL的区别))
- .h头文件、 .lib库文件、 .dll动态链接库文件之间的关系
- .h头文件 .lib库文件 .dll动态库文件之间的关系
- .h头文件 .lib库文件 .dll动态库文件之间的关系
- .obj, .lib, .dll, .exe的关系
- obj,lib,dll,exe的关系