索引:.obj,.lib,.dll,.h之间的相互关系。
来源:互联网 发布:mysql云数据库 编辑:程序博客网 时间:2024/05/24 05:29
.obj,.lib,.dll,.h之间的相互关系。
1。.obj,.lib,.dll,.h之间的相互关系如何?使用的时候调用方式有什么不同?
2。怎么自己做一个.lib的文件,请把过程将一下,最好有示例,谢谢!
3。工程文件中怎么使用obj.文件。
问题点数:80、回复次数:8Top
1 楼Holly()回复于 2000-09-13 02:34:00 得分 80
1.
obj:是CPP对应的二进制代码格式,是未经重定位的!
lib:是若干个obj的集合,本质与obj相同!
dll:是可实际运行的二进制代码,有定位代码的!
h:是头文件,也可算是源代码,因为当CPP中用#include时,会把包含的文件的内容在CPP中扩展开!
Top
2 楼Holly()回复于 2000-09-13 02:45:00 得分 0
2.
在VC++中利用APPWIZARD可以建立一个LIB的工程,
file->new->projects->Win32 static library;
再将你的源文件添加到该工程中即可!
project->add to projects->files;
3.将obj文件添加到工程中即可!
project->add to projects->files;选择你的obj文件;
Top
3 楼Holly()回复于 2000-09-13 02:55:00 得分 0
1.
使用时,obj和lib是没有本质区别的,lib就是obj,使用lib地方都可以使用obj;
dll是动态连接库,是运行时动态加载的,而lib是静态的连接库,相当于程序编译的未经链接定位的二进制代码!(obj的一种表现形式)
h文件是用来编写函数(类,变量类型)原型声明的,通常dll、lib和obj的使用需要有h文件的配合,以获得二进制代码的原型声明!
当然使用dll时也可用GetProcAddress来配合避免使用h文件!Top
4 楼Holly()回复于 2000-09-13 03:25:00 得分 0
备注:
在使用DLL时也会有一个附加的lib是用来表明DLL的引出表而用的,其中的信息相当于一个obj中只有声明引出的部分,没有函数体。Top
5 楼Sunlet(大赢家)回复于 2000-09-13 11:24:00 得分 0
怎么把我的lib 做成象编译器的lib那样,自动添加到我的工程中.而不用每次Add files to projectTop
6 楼Holly()回复于 2000-09-13 11:52:00 得分 0
没有办法!必须每次自己添加!
最好的情况是在Tools->options...->Directories中将include、library、source files的路径设置添加你的代码库的目录,为了调试方便,把Debug版和Release版分别输出不同的名字,如将Debug版的输出文件后添加一个 D.
但是这样也必须每次使用时在使用的工程设置的project->settings->link->object/library modules:栏中将需要的库的名字添加进去(无需路径)!Top
7 楼Sunlet(大赢家)回复于 2000-09-13 21:37:00 得分 0
非常感谢Holly的帮助,我做lib的时候遇到以下问题,请你在解释一下:
我编写了一个支持mfc的lib(foxreader.lib),当mfc程序调用它时,就有以下几个warning,
单程序仍然能执行,请问一下,怎么去除这些warning.
Linking...
LINK : warning LNK4098: defaultlib "mfc42.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
LINK : warning LNK4098: defaultlib "mfcs42.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
LINK : warning LNK4098: defaultlib "msvcrt.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
foxclass.exe - 0 error(s), 3 warning(s)
Top
8 楼Holly()回复于 2000-09-13 23:36:00 得分 0
这个Warning没有必要去掉!
这是因为你的foxreader.lib中也有用到相同的MFC的lib文件,Linker自动将重复的链接跳过给出的信息!
Top
相关问题
- Clarify the concept of DLL,API,LIB,COM,OBJ
- dll,lib,.h有什么区别呢
- vc调用dll(只有dll,无lib和h文件)
- 如何用DLL封装一个DLL?(没有.lib,没有.h)
- 关于.h .cpp .obj .lib .bpi文件之间关系的问题
- 一个关于DLL,LIB,H文件的问题?
- 已有.h和.lib文件,封装新的DLL问题
- dll调用的问题,有h和dll能不能隐式调用dll。没有lib。
- 我建立了一个 dll,lib 也有了,可是 .h 怎么办
- 关于dll文件、h文件、和lib文件的转换问题
- 索引:.obj,.lib,.dll,.h之间的相互关系。
- .obj,.lib,.dll,.h之间的相互关系。
- .obj,.lib,.dll,.h之间的相互关系
- obj、lib、dll、h之间的相互关系
- .obj,.lib,.dll,.h之间的相互关系
- .obj,.lib,.dll,.h之间的相互关系
- dll、Lib、obj、.h文件的区别与作用
- dll、Lib、obj、.h文件的区别与作用
- dll、Lib、obj、.h文件的区别与作用
- dll、Lib、obj、.h文件的区别与作用
- OBJ、LIB、DLL与EXE之间的关系
- .obj, .lib, .dll, .exe的关系
- .obj .lib .dll .exe的关系
- .obj, .lib, .dll, .exe的关系
- .obj, .lib, .dll, .exe的关系
- obj,lib,dll,exe的关系
- .obj, .lib, .dll, .exe的关系
- obj,lib,dll,exe的关系
- 佛罗伦斯王子(英文版) Princes of Florence--(card game)
- asp提示操作后,再转到某了页面
- GTK+ -- from knowing nothing to knowing something (2)
- 关于内存映射文件技术处理大文件的读写
- 《越狱》中的项目管理
- 索引:.obj,.lib,.dll,.h之间的相互关系。
- 如何使用ServletContextListener
- Bbsxp 0day简单分析以及利用
- 隐藏目标进程的程序(驱动)
- 关于ro(rw)的问答
- C/C++数组名与指针区别
- SNMP(Simple Network Management Protocol)
- select样式
- IFeatureSelection