头文件与库文件的关系???

chimpone 2006-08-24 01:56:56
比如我要用函数printf("hello");那么这个函数在哪个库文件里呢?
我们调用这个函数要#include <stdio.h> 那么vc是通过什么机制找到这个头文件对应的库文件的呢?
对应的库文件是不是stdio.lib?或stdio.dll?
不明白!
望高手指点!

然后问一句:lib与dll是什么关系呢?
...全文
712 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
dongjie68 2010-06-01
  • 打赏
  • 举报
回复
同意zdl1016的观点 说的很多 我也是这样认为的。
xingfukuaile 2010-06-01
  • 打赏
  • 举报
回复
谢谢,xuezhongsongtana
jerry 2006-08-24
  • 打赏
  • 举报
回复
提供程序库的作者有义务说明清楚这个库的头文件 是什么, 库文件是什么, 需要哪些DLL才能运行.
hailongchang 2006-08-24
  • 打赏
  • 举报
回复
你可以做个实验,你找个头文件,把它粘贴到你命名的一个文件中,然后你在程序中包含自己的这个头文件,程序一样可以执行的
hailongchang 2006-08-24
  • 打赏
  • 举报
回复
意思是说头文件的命名与相应的库的命名可以有关系也可以没有关系 主要取决于开发库的人.
chimpone 2006-08-24
  • 打赏
  • 举报
回复
与库文件可以有关系也可以没有关系.??
具体点???
chimpone 2006-08-24
  • 打赏
  • 举报
回复
我问的是他们的名字有没有关系!?
hailongchang 2006-08-24
  • 打赏
  • 举报
回复
基本上一个库有一个lib文件,在程序中用什么库,就加什么lib文件,有了lib文件,就找指定的库就行了.win32中,核心的库是kernel32.dll,user32.dll,GDI.dll相应的lib文件就是kernel32.lib
user32.lib等等,至于头文件只是辅助编程用的,它与库文件可以有关系也可以没有关系.
chimpone 2006-08-24
  • 打赏
  • 举报
回复
什么关系?
madmanahong 2006-08-24
  • 打赏
  • 举报
回复
当然有关系,这是最基本的问题。

.h是一种声明阿
chimpone 2006-08-24
  • 打赏
  • 举报
回复
那么多库,难道找一个函数要把所有库的都查找一遍吗?
库的命名与头文件的名字是不是没有关系?
hailongchang 2006-08-24
  • 打赏
  • 举报
回复
推荐看windows程序设计 动态链接库那一章,lib文件其实就是一个导入库文件,在使用dll时,如果没有lib文件,link就不知道该在哪个dll中能找到程序中用到的函数
jerry 2006-08-24
  • 打赏
  • 举报
回复
头文件包含声明, 库文件包含实现或者与DLL库的连接

所以,如果在代码里要用到这些函数那么就要包含头文件,编译的时候才能知道这第函数的原形;

在进行代码连接的时候就需要库文件了,这时连接器就把函数的实现代码连接到你的程序(静态库)或者将你的函数调用连接到相应的DLL的对应函数(动态库)

象你说的stdio那是C标准运行库.不用手工去指定,编译器会连接到相应的库的.

lib是静态库, 编译的时候代码直接插入到你的程序 ,DLL是动态库, 编译的时候,只是产生一些调用DLL内代码的导入表,真正运行的时候是调用的DLL内的代码
chinalning 2006-08-24
  • 打赏
  • 举报
回复
.lib,是库文件,link工具用它来连接各种输入库,最终生成.exe文件。
.dll是动态链接库
qtext 2006-08-24
  • 打赏
  • 举报
回复
你调用了printf,编译器会把libc.lib写入obj文件,链接时就会到libc.lib中找printf函数。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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