有没有人可以告诉我.h和lib文件有什么区别吗??

alexzyf 2003-11-10 08:45:25
有没有人可以告诉我.h和lib文件有什么区别吗??
...全文
113 8 打赏 收藏 转发到动态 举报
写回复
用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也不完全是二进制码吧?

24,855

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧