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]
posted on 2012-06-18 22:43  leaving  阅读(251)  评论(0编辑  收藏  举报