为首先按照老师的博客将加减乘除代码写上去
add.c
int add(int var1,int var2){ return var1 + var2; }
mod.c
int mod(int var1, int var2){ return var1 % var2; }
mul.c
int mul(int var1,int var2){ return var1 * var2; }
sub.c
int sub(int var1, int var2){ return var1 - var2; }
testCal.c #include <stdio.h> #include "cal.h" int main(int argc, char **argv) { int var1; int var2; printf("please input the var1: "); scanf("%d", &var1); printf("please input the var2: "); scanf("%d", &var2); printf("%d add %d is %d\n", var1, var2, add(var1, var2)); printf("%d sub %d is %d\n", var1, var2, sub(var1, var2)); printf("%d mul %d is %d\n", var1, var2, mul(var1, var2)); printf("%d div %d is %d\n", var1, var2, div(var1, var2)) test printf("%d mod %d is %d\n", var1, var2, mod(var1, var2)); return 0; }
由于我的ubuntu系统好像有点问题用不了老师的makefile文件,所以我是采用手工命令
gcc -c add.c sub.c mui.c div.c mod.c testCal.c
gcc -o testCal testCal.o add.o sub.o mod.o mul.o
生成了testcal文件大小为8696字节也可以执行命令
然后生成静态库
ar rcs libgjl.a add.o sub.o mul.o div.o mod.o
创建库文件的接口文件
gcc -o testCal testCal.c -static -L. -lgjl
可执行文件大小为958552字节
三.动态库
gcc -shared -fPIC -o libgjl.so add.o sub.o mul.o div.o mod.o
gcc -o testCal testCal.c -L. lgjl
生成动态库可执行文件大小为8544字节
.
原文:https://www.cnblogs.com/gongjialong/p/12545561.html