Linux shared lib
1.
#include "shared.h" unsigned int add(unsigned int a, unsigned int b) { printf("\n Inside add()\n"); return (a+b); }
2.
#include<stdio.h> extern unsigned int add(unsigned int a, unsigned int b);
3.
gcc -c -Wall -Werror -fPIC shared.c
gcc -shared -o libshared.so shared.o
4.
#include<stdio.h> #include"shared.h" int main(void) { unsigned int a = 1; unsigned int b = 2; unsigned int result = 0; result = add(a,b); printf("\n The result is [%u]\n",result); return 0; }
5.
gcc -L/home/himanshu/practice/ -Wall main.c -o main -lshared
6.
export LD_LIBRARY_PATH=/home/himanshu/practice:$LD_LIBRARY_PATH
7.
# ./main Inside add() The result is [3]