linux下库文件的编程
Posted chenxu666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下库文件的编程相关的知识,希望对你有一定的参考价值。
首先创建 add.c、sub.c、mul.c、div.c、mod.c、cal.h testCal.c Makefile
代码如下:
add.c
int add(int var1, int var2){ return var1 + var2; }
sub.c
int sub(int var1, int var2){ return var1 - var2; }
mul.c
int mul(int var1, int var2){ return var1 * var2; }
div.c
int div(int var1, int var2){ if(0==var2){ return -1; }else{ return var1 / var2; } }
mod.c
int mod(int var1, int var2){ return var1 % var2; }
cal.h
#ifndef cal_h #define cal_h int add(int, int); int sub(int, int); int mul(int, int); int div(int, int); int mod(int, int); #endif
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 ", var1, var2, add(var1, var2)); printf("%d sub %d is %d ", var1, var2, sub(var1, var2)); printf("%d mul %d is %d ", var1, var2, mul(var1, var2)); printf("%d div %d is %d ", var1, var2, div(var1, var2)); printf("%d mod %d is %d ", var1, var2, mod(var1, var2)); return 0; }
Makefile (在Makefile文件中,命令必须以【tab】键开始。)
OBJ=testCal.o add.o sub.o mul.o div.o mod.o testCal:$(OBJ) cal.h gcc $(OBJ) -o testCal testCal.o:testCal.c add.o:add.c sub.o:sub.c mul.o:mul.c div.o:div.c mod.o:mod.c .PHONY:cleanA clean cleanA: rm testCal $(OBJ) clean: rm $(OBJ)
1.不是用库的方式
make 执行结果
查看文件大小
2.使用静态库文件,生成静态库。 创建库名为libcx.a的库
查看文件大小
3.使用动态库文件,生成动态库文件。创建库名为libcx.so的库
查看文件大小
以上是关于linux下库文件的编程的主要内容,如果未能解决你的问题,请参考以下文章