一、概念
1.1 calcmain.c
#include "function.h"
#include <string.h>
#include <stdio.h>
int main() {
int a = 0;
int b = 0;
int res = 0;
puts("please sent the num\r\n");
scanf("%d %d",&a,&b);
res = add(a,b);
printf("res = %d\r\n",res);
res = minus(a,b);
printf("res = %d\r\n",res);
res = div(a,b);
printf("res = %d\r\n",res);
res = multiply(a,b);
printf("res = %d\r\n",res);
return 0;
}
1.2 function.c
#include "function.h"
#include <stdio.h>
#include <string.h>
int add(int a,int b) {
return a + b;
}
int minus(int a,int b) {
return a - b;
}
int div(int a,int b) {
if(b == 0) {
printf(" b cannt 0");
return -1;
}
return a / b;
}
int multiply(int a,int b) {
return a * b;
}
1.3 function.h
#ifndef __FUNCTION_H
#define __FUNCTION_H
int add(int a,int b);
int minus(int a,int b);
int div(int a,int b);
int multiply(int a,int b);
#endif
二、静态库
库的制作。
1.首先生成.o文件
gcc function.c - c
2.生成静态库文件
ar rcs libtestfunc.a function.o
3.使用静态库
gcc calcmain.c -ltestfunc -L ./ -o mainpro
三、动态库
1.编译
gcc -shared -fpic function.c -o libcalc.so
2.制定位置,添加位置
export LD_LIBRARY_PATH="/home/pi/class"
3.运行