C语言链接库

以下内容均在Linux环境下。

一、库文件

  • 包含大量函数(类、方法)的文件。不需要包含main()函数,因为它们不是可执行文件,而是供其他程序调用的代码库。

  • 可以分为静态链接库动态链接库

  • 使用链接库可以带来以下几个好处:

    • 减少内存占用:使用链接库可以避免同一函数或代码片段在不同的应用程序中重复出现,从而减少内存占用。
    • 提高代码的可维护性:库更新时,只需要更新这个库的链接文件(a.或.so),不需要修改所有依赖这个库的源代码。
    • 改善开发效率:可以专注于编写业务逻辑而不是处理底层细节。
    • 提高代码的可重用性:使用链接库可以将程序与库的实现分离开来,从而提高程序的可维护性和可重用性。

Linux环境下,静态库通常后缀为.a,动态库为.so

二、静态链接库

  • 编译时由编译器到指定目录寻找并且进行链接,可执行文件包含了该库中的所有代码和数据
  • 当系统中存在多个链接同一个静态库的可执行文件时,每个可执行文件中都存有一份静态库的指令和数据(见上一条)。
  • 一旦程序中有模块更新整个程序(库+其它)就必须重新链接后才能运行

1.文件准备

头文件:Math.h

库中函数较多,用头文件声明,与函数实现划分更清晰。

//函数声明
void sayHello();
void add(int a,int b);

库文件:Math.c

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值