社区
工具平台和程序库
帖子详情
有没有人可以告诉我.h和lib文件有什么区别吗??
alexzyf
2003-11-10 08:45:25
有没有人可以告诉我.h和lib文件有什么区别吗??
...全文
119
8
打赏
收藏
有没有人可以告诉我.h和lib文件有什么区别吗??
有没有人可以告诉我.h和lib文件有什么区别吗??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
complayer
2003-11-14
打赏
举报
回复
.CPP|.C -> Obj
.Obj+.Obj+...+.Obj -> Lib
有一个库管理程序就叫Lib.exe,用来管理Lib文件中Obj,比如加入一个Obj,删除一个Obj文件。链接是以Obj为单位,而不是函数为单位,但是可以列出这个Lib中有哪些函数。
头文件用于编译时刻,C/C++中使用一个函数必须要先声明,根据声明进行参数类型检查。具体函数体在Lib中,Link程序把编译好的Obj链接成Exe时会到Lib中来找相关的Obj文件。一般来说都是头文件和lib成对的,当然头文件和Obj文件结合也可以。
sevencat
2003-11-14
打赏
举报
回复
后缀名不同是他们最大的不同!!!
rensch
2003-11-14
打赏
举报
回复
.h是一些头文件经常用到的,lib则是库文件,是你要调用的函数!
yuantao
2003-11-14
打赏
举报
回复
h是声明,lib是实现
好比一个人的名字和实体一样
hdqqq
2003-11-12
打赏
举报
回复
.h 是给人看的.
.lib 是给连接器看的.
no1bird
2003-11-10
打赏
举报
回复
哦~~~~~~~~~~~~
fierygnu
2003-11-10
打赏
举报
回复
lib是库,包含一些公用例程,是编译好的指令级的代码,由连接器在需要时连接到应用程序。.h是头文件,主要用来声明/定义一些公用的宏、常数、函数原型等,一般由预处理器处理,在编译时包含到源代码文件里。
buaaaladdin
2003-11-10
打赏
举报
回复
又想起一个问题,lib究竟是已编译的二进制码还是简单的code pack?我觉得应该是二进制码,但是刚才用UE打开一个库看到了很多源代码样的东西。
而且如果是二进制码,那么为什么C++调用C库的时候要声明extern C,好像没有必要啊?而且C又不能调用C++的库,这说明lib也不完全是二进制码吧?
.h
文件
,.c
文件
,.
lib
文件
和dll的
区别
大家都知道,.h
文件
是头
文件
,用来声明变量,函数的,而对应(其实你也不一定要对应,头
文件
写对就行,主要方便整理)的.c
文件
是函数,变量的定义。简单易懂的关系。那其他2个呢。 .
lib
文件
是二进制
文件
,是一个或者数个.c
文件
的集合,也就是说他有.c
文件
的作用:定义。那么,.c
文件
就有的功能为什么还要弄成.
lib
文件
呢,使用还麻烦,要#pragmacomment(
lib
,"xx
Lib
.
lib
");...
C++ .h(头
文件
) .
lib
(库
文件
) .dll(动态链接库
文件
) 之间的关系和作用的区分
.h头
文件
是编译时必须的,
lib
是链接时需要的,dll是运行时需要的。 附加依赖项的是.
lib
不是.dll,若生成了DLL,则肯定也生成
LIB
文件
。如果要完成源代码的编译和链接,有头
文件
和
lib
就够了。如果也使动态连接的程序运行起来,有dll就够了(放在Debug
文件
夹里)。在开发和调试阶段,当然最好都有。 .h .
lib
.dll三者的关系是: H
文件
作用是:声明函数接口 DLL
文件
作用是: 函数可执行代码 当我们在自己的程序中引用了一个H
文件
里的函数,编链器怎么知道该调用哪个DLL
文件
呢?这就是
LIB
.h(头
文件
) .
lib
(库
文件
) .dll(动态链接库
文件
) 之间的关系和作用的区分
.h头
文件
是编译时必须的,
lib
是链接时需要的,dll是运行时需要的。附加依赖项的是.
lib
不是.dll,若生成了DLL,则肯定也生成
LIB
文件
。如果要完成源代码的编译和链接,有头
文件
和
lib
就够了。如果也使动态连接的程序运行起来,有dll就够了(放在Debug
文件
夹里)。在开发和调试阶段,当然最好都有。.h .
lib
.dll三者的关系是:H
文件
作用是:声明函数接口DLL
文件
作用是: 函数可执...
.h头
文件
.
lib
库
文件
.dll动态库
文件
之间的关系
.h头
文件
是编译时必须的,
lib
是链接时需要的,dll是运行时需要的。 附加依赖项的是.
lib
不是.dll,若生成了DLL,则肯定也生成
LIB
文件
。如果要完成源代码的编译和链接,有头
文件
和
lib
就够了。如果也使动态连接的程序运行起来,有dll就够了。在开发和调试阶段,当然最好都有。 .h .
lib
.dll三者的关系是: H
文件
作用是:声明函数接口 DLL
文件
作用是: 函数可执行代码
.h,
lib
和dll
文件
的功能和
区别
简而言之 (1).h是头
文件
,
lib
和dll都是库
文件
。 (2)头
文件
包含声明,库
文件
则包含实现。 (3)
lib
是静态链接时使用的,如果采用静态链接库,则
lib
包含了实际执行代码和符号表等,无论你愿不愿意,
lib
中的指令都全部被直接包含在最终生成的 EXE
文件
中了(因此比较耗费内存)。 dll用于动态链接,该 dll 不必被包含在最终 EXE
文件
中,EXE 文
工具平台和程序库
24,853
社区成员
27,330
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章