当前位置: 技术问答>linux和unix
请问:在UINX如何编写、使用动态连接库???
来源: 互联网 发布时间:2015-02-27
本文导语: 正在写这方面的程序,需要动态连接库能够被动态加载、删除,很灵活的那种。 多谢!!! | 首先,需要产生位置无关(position-independent)代码。 要做到这一点,gcc需要加上编译选项-fPIC gcc -fP...
正在写这方面的程序,需要动态连接库能够被动态加载、删除,很灵活的那种。
多谢!!!
多谢!!!
|
首先,需要产生位置无关(position-independent)代码。
要做到这一点,gcc需要加上编译选项-fPIC
gcc -fPIC -O -c libbar.c
这时候就适合构造共享库了,加上-shared编译选项
gcc -shared -o libbar.so libbar.o
可以把许多重定位文件加到共享库中。为了把baz.o和共享库连接在一起,可以如下操作:
# gcc -O -c baz.c
# gcc -o baz baz.o -L. -lbar
要做到这一点,gcc需要加上编译选项-fPIC
gcc -fPIC -O -c libbar.c
这时候就适合构造共享库了,加上-shared编译选项
gcc -shared -o libbar.so libbar.o
可以把许多重定位文件加到共享库中。为了把baz.o和共享库连接在一起,可以如下操作:
# gcc -O -c baz.c
# gcc -o baz baz.o -L. -lbar
|
http://www.fanqiang.com/a4/b2/20010906/0700001243.html