首先,需要产生位置无关(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构建共享库及连接文件的操作。首先,产生位置无关代码需在gcc编译时加 -fPIC 选项;接着,构造共享库要加上 -shared 选项;最后,还说明了将重定位文件与共享库连接在一起的操作方法。
1135

被折叠的 条评论
为什么被折叠?



