linux 静态库的建立和使用

Linux和windows一样也有自己的库文件,这样可以使程序模块化。

Windows系统包括静态链接库(XXXX.lib文件)和动态链接库(XXXX.dll文件)

Linux 库文件包括静态库文件(libXXXX.a文件)和动态链接库(XXXX.so文件)

本文重点介绍Linux系统中的库文件的建立与使用

在Linux系统中静态库文件和动态库文件在使用的时候被加载的时间不同

静态库文件:

在编译原文件时就被拷贝到可执行程序中,因此加载静态库的程序体积比较大,但是可以再没有这些库文件的位置执行。

动态库文件:

在编译原文件时只是简单的对库文件进行引用,在程序执行的时候才被载入内存中,所以相对来说体积比较小,被编译的源文件只能附带着那些动态库才可以执行。

两种库的区别说了一部分

下面用一个实例来说明静态库的建立与使用:

头文件mylib.h


#define MYLIB_H

void welcome();
void output(const char *str);


源文件  mylib.c

#include "mylib.h"
#include <stdio.h>

void welcome(void)
{
    printf("welcome !!!\n");
}

void output(const char *str)
{
    if(str != NULL)
        printf("%s\n", str);
}

1、编译mylib.c生成目标文件gcc -c  mylib.c 

2、将目标文件加入到静态库:ar rcs 

3、编写测试程序 test.c

源文件test.c

#include "mylib.h"

#include <stdio.h>

int main()
{
   
    welcome();
    output(" successful!!!\n");

    return 0;
}

4、使用静态库编译:gcc -o test test.c -static -L. -lmylib

5、然后使用命令ls 查看产生可执行文件test  然后执行就可以了

现在就理解到这了,错误的地方得到指导,谢谢!



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值