makefile生成动态库和静态库文件

本文介绍如何使用C语言实现基本的数学运算,并通过makefile构建静态库与动态库。包括了加法和减法功能的实现,以及如何组织源代码文件、编写makefile来编译和链接这些库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编写程序实现两个整数相加、相减操作
1、文件分布(xiangjian.cxiangjian.hxiangjia.cxiangjia.hmain.c
2、编写makefile进行编译
3、将相加功能和相减功能生成静态库(.a)和动态库(.so

此时我的makefile文件内容为:

all:math libmymath1.a libmymath2.so
math:main.c ./mymath/xiangjia.c ./mymath/xiangjian.c
	gcc main.c ./mymath/xiangjia.c ./mymath/xiangjian.c -o math -I ./mymath
libmymath1.a:./mymath/xiangjia.c ./mymath/xiangjian.c
	ar cr libmymath1.a ./mymath/xiangjia.c ./mymath/xiangjian.c
libmymath2.so:./mymath/xiangjia.o ./mymath/xiangjian.o
	gcc -c ./mymath/xiangjia.c -o xiangjia.o && gcc -c ./mymath/xiangjian.c -o xiangjian.o && \
gcc -shared -fPCI -o libmymath2.so ./mymath/xiangjia.o ./mymath/xiangjian.o

因为要生成三个不同的文件,所以加了一个all目标文件,包含三个文件的依赖,在生成静态库的时候,直接用*.c文件生成即可,但是在生成动态库的时候要用*.o文件生成,而且要注意,不能同时生成两个*.o文件;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值