/*Author: Godbach E-mail: nylzhaowei@163.com */ #include <stdio.h> int my_lib_function (void) { printf ("Library routine called from libmyfunction.so!\n"); return 0; } |
#include <stdio.h> int main(void) { my_lib_function(); return 0; } |
debian:/home/program# gcc -shared -o libmyfunction.so myfunction.c |
debian:/home/program# gcc -o test test.c /home/program/libmyfunction.so |
debian:/home/program# ./test Library routine called from libmyfunction.so! |
debian:/home/program# cp libmyfunction.so /usr/lib/ debian:/home/program# gcc -o test test.c -lmyfunction debian:/home/program# ./test Library routine called from libmyfunction.so! |
原帖由 Godbach 于 2007-7-25 20:18 發(fā)表
呵呵,多謝版主提醒。想來接觸Linux也有兩年多了,到現(xiàn)在還沒有深入的學到什么的東西,只是總聽停留在安裝和試用不同版本的Linux還有Unix(FreeBSD和Solaris x86),真是慚愧!![]()
原帖由 lgfang 于 2007-7-31 12:34 發(fā)表
http://blog.chinaunix.net/u/23408/showart.php?id=263406
自我感覺比樓主的講得更全面、細致。:)
不過為了練習英文,是用英文寫的。
原帖由 marlalee 于 2007-8-6 22:09 發(fā)表
也可以用:
ld -G -o libmyfunction.so myfunction.c -cl
一般使用ld生成動態(tài)庫。
另外,在Solaris 下:
gcc -G -o libmyfunction.so myfunction.c
Solaris怎么總是不一樣!
歡迎光臨 Chinaunix (http://72891.cn/) | Powered by Discuz! X3.2 |