add.c:
int add(int a,int b){
return a + b;
}
sub.c:
int sub(int a , int b){
return a - b;
}
a.c:
#include#include "mymath.h" int main(){ int a = 20, b = 12; printf("sum = %dn",add(a,b)); printf("sub = %dn",sub(a,b)); return 0; }
./inc/mymath.h:
#ifndef _MYMATH_H_ #define _MYMATH_H_ int add(int,int); int sub(int,int); #endif
makefile:
ALL:a
libmymath.so:add.o sub.o
gcc -shared -o ./lib/libmymath.so add.o sub.o
echo `pwd`/lib/ >> /etc/ld.so.conf.d/test.conf
ldconfig -v
add.o:add.c
gcc -c -o add.o add.c -fPIC
sub.o:sub.c
gcc -c -o sub.o sub.c -fPIC
a:libmymath.so
gcc -o a a.c add.c sub.c -l mymath -L ./lib -I ./inc



