静态库,动态库以及makefile基础

一.静态(链接)库  libfun.a

静态链接进可执行程序 可执行程序偏大

运行时只需要可执行程序即可

        生成静态库步骤   

gcc -c fun.c -o fun.o

ar rcv libfun.a fun.o    //需要用.o文件生成数据库

        运行   gcc main.c libfun.a

二.动态库  libfun.so

动态链接进可执行程序 可执行程序较小

运行时需要可执行程序及库都存在

        动态库生成步骤(动态库名字必须以lib开头)

gcc -fPIC -shared fun.c -o libfun.so

gcc main.c {-I ./include}  {-L ./lib} -lfun

                    头文件目录     动态库目录

三.makefile

TARGET=all

OBJ := main.0

OBJ += fun.o

CC=gcc

$(TARGET):$(OBJ)

        $(CC) $^ -o $@

%.o:%.c

        $(CC) -c $< -o $@

.PHONY:

clean:

        rm $(OBJ) $(TARGET)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值