参考:
https://www.cnblogs.com/vamei/archive/2013/04/04/2998850.html
https://blog.csdn.net/q1302182594/article/details/42102961#
https://blog.csdn.net/unix21/article/details/12119861?utm_source=blogxgwz5
https://blog.csdn.net/wang_hufeng/article/details/53899120
我们的目标是制作共享库,即.so文件。
首先,编译stack.c:
$gcc -c -fPIC -o mystack.o mystack.c
-c表示只编译(compile),而不连接。-o选项用于说明输出(output)文件名。gcc将生成一个目标(object)文件mystack.o。
注意-fPIC选项。PIC指Position Independent Code。共享库要求有此选项,以便实现动态连接(dynamic linking)。
生成共享库:
$gcc -shared -o libmystack.so mystack.o
库文件以lib开始。共享库文件以.so为后缀。-shared表示生成一个共享库。
这样,共享库就完成了。.so文件和.h文件都位于当前工作路径(.)。