个人理解—动/静态链接

        程序的主体目标是数据,函数是实现的过程是加工是算法。使用全局变量的函数,会影响函数的可移植性。

        函数原型的主要作用之一是作参数的静态类型检测。编译器是以单文件为单位进行编译,所以别的文件在哪定义都一定要做声明,在编译之前先做预编译的展开。

        函数原声明表有函数声明表,函数编译时遇到一个会去查一个,不匹配会报warning/err。函数可以重复声明,但不能重复定义,函数定义也自带声明,但考虑要到顺序问题。

        函数的源码由于不能够进行公开以及零散等的原因无法进行商业化,固有了库的定义:动态链接库、静态链接库。

        静态链接库:只编译不链接,生成.o目标文件,再使用ar归档生成.a归档文件,提供.a和.h头文件,使用时候链接器干活生成程序,作用—保护版权。

        动态链接库:比静态链接库更高效,静态库是在链接生成程序时使用,但是太占内存空间。

        但是在静态情况下会出现重复高占情况。

        但动态库就是去系统文件中的动态库中找,无论用多少次都是去第一次加载的地方去执行,不用重复展开,减小程序大小。

        在GCC编译动态库时,往往会添加-lxxx,如-lm和-L。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值