函数库

函数库:事先写好的函数的集合
函数是模块化的,因此可以被复用。我们写好写好了一个函数,可以被反复使用

函数库的提供形式:动态链接库和静态链接库
商业公司将函数库共享给别人,以库的形式来提供

静态库:函数库源代码经过只编译不链接形成.0目标文件,然后用ar工具将.0文件归档为.a的归档文件(.a的归档文件又叫静态链接库文件)。.a库文件和.h同文件来提供静态库给客户使用。用户在自己的.c文件中直接调用这些库文件,在链接的时候链接器回去.按文件中拿出被调用的那个函数的变异后的.o二进制代码段链接进去形成最终的可执行程序。

动态库:库本身不会将库函数的代码段介入可执行程序,只是做个标记。当应用程序在内存中执行时,运行时环境发现他调用了一个动态库中的库函数时,会嫁娶加载这个动态库到内存中,再次调用这个库的函数会跳转到第一次加载的地方去执行,不会重复加载

函数库中的库函数的使用
gcc编译链接程序默认动态库,要用静态库需要-static来强制静态链接。
使用需要注意:包含相应的头文件,调用库函数时注意函数原型,有些库函数链接时需要额外用-lxxx来指定链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值