C语言 gcc 静态库

静态库libxx.a 对应 win下面的xx.lib

防止别人看到代码

nm查看静态库内容

假设有以下文件

|-- fn
|   |-- add.c
|   `-- sub.c
|-- h
|   `-- head.h
|-- lib
`-- test.c

add.c内容

int add(int a,int b){
        return a+b;
}

sub.c内容

int sub(int a,int b){
        return a-b;
}

test.c内容

#include "head.h"
int main(void)
{
        int a =1, b = 2;
        printf("%d\n",add(a,b));
        printf("%d\n",sub(a,b));
        return 0;
}

head.h内容

#include <stdio.h>
extern int add(int a,int b);
extern int sub(int a,int b);

首先编译fn目录下的函数文件
gcc -c ./fn/*.c -I ./h
将编译好的.o文件,打包成静态库,静态库命名必须以lib开头以.a结尾
ar rcs ./lib/libcalc.a *.o
编译整个工程文件,默认gcc会找标准库,自己的库需要指明,_L指定库的目录,-l指定库的名称.库名会省略掉lib.a
gcc test.c -o test -I h/ -L lib/ -l calc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值