2009年9月3日 星期四

How to ceate Shared libraries

gcc -fPIC -c -Wall test.c //產生test.o
gcc -shared -Wl,-soname,libtest.so.1 -o libtest.so.1.0.1 test.o -lc
//產生libtest.so.1.0.1(realname)
sudo cp -f libtest.so.1.0.1 /usr/lib
cd /usr/lib
ln -s libtest.so.1.0.1 libtest.so (linker name)
sudo ldconfig //產生libtest.so.1 (soname)
cd -
gcc main.c -I . -ltest -o main

//test.h

#ifndef TEST_H
#define TEST_H

#include
void printString(char *str);

#endif /* TEST_H */

//test.c

#include "test.h"
void printString(char *str){

printf("%s\n",str);

}

//main.c

#include "test.h"
int main(){

printString("Hello the world!!");

}


reference:http://itzone.hk/article/article.php?aid=200406271608445175

沒有留言: