gcc头文件包含,动态链接库

为什么自己写的需要几个头文件,再使用gcc的时候需要把对应的源文件写上才能通过编译,但是使用外部库,如boost库,只需要写出包含的头文件,就可以使用并且通过编译。那自己... 为什么自己写的需要几个头文件,再使用gcc的时候需要把对应的源文件写上才能通过编译,但是使用外部库,如boost库,只需要写出包含的头文件,就可以使用并且通过编译。那自己的写的如何去实现类似boost这种引用方式?我觉得应该是在某个地方有动态链接库,放在某个位置 展开
 我来答
吉祥二进制
高粉答主

推荐于2016-03-02 · 科技改变生活,生活改变科技。
吉祥二进制
采纳数:33926 获赞数:84580

向TA提问 私信TA
展开全部
  1、包含哪个头文件,需要查询程序使用库的SDK说明文档,比如printf(),它的函数声明在stdio.h头文件中,因此要使用printf(),必须在开头加上一句:
  #include <stdio.h>
  2、动态链接库,这个是从静态链接库发展而来的,所谓库即很多程序都会使用的代码,因此程序员提取出来,称之为库,最早的库是静态库,所谓静态即表示在生成可执行文件的链接阶断,链接器会将程序所需要的库文件,和程序的文件一起打包为一个文件。这会使得应用程序很大,不仅不利于存储而且操作系统加载时也会耗费时间,因此才引入了动态库,动态库只会在链接阶断生成程序时,加入一小段数据,用于描述此程序使用了哪此库,使用了库中的哪些函数,以及这些函数的虚拟内存地址。
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
瀚漠
2014-01-13 · 专注C语言发开,Linux系统相关
瀚漠
采纳数:309 获赞数:1288

向TA提问 私信TA
展开全部
第三方库在gcc的时候是必须要链接的。

像你描述的这个问题,解决方法是使用Makefile来管理工程,把编译命令写进Makefile内,只要执行make命令就可以编译,再实现一个make clean命令,可以非常方便的管理工程。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友940c5a6f2
2014-01-18 · TA获得超过239个赞
知道小有建树答主
回答量:353
采纳率:0%
帮助的人:268万
展开全部
编译和链接是两个步骤,编译器会审核库API函数声明及定义,一般C库函数的定义和声明已经在.h头文件中定义好(多数是函数指针方式,指向库文件(如.so或.a文件)) ,在链接过程中.a文件会被链接进来,而.so文件是在运行时后载入内存空间,被函数指针跳转执行。

如果你在应用程序编写中不想写源文件.c,首先还是在之前要把API函数内容写好并编写成动态库或静态库。使用时候引用。
这样的好处,当编写其他应用程序时候也需要重复的API,可以拿来之前自己写好的库过来引用。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式