三叶草 发表于 2022-8-9 15:23:16

linux中把.c的文件编译成.so文件

这篇文章主要介绍了linux中把.c的文件编译成.so文件的相关资料,本文以编译mylib.c为例讲如何编译.so文件,感兴趣的朋友跟随CodeAE代码之家小编一起学习吧
linux中共享库以so为后缀(shared object),与Windows下的DLL类似,是在程序运行时动态连接。多个进程可以连接同一个共享库。
以下以编译mylib.c为例讲如何编译.so文件。
首先,编译mylib.c:
$gcc -c -fPIC -o mylib.o mylib.c
-c表示只编译(compile),而不连接。-o选项用于说明输出(output)文件名。gcc将生成一个目标(object)文件mylib.o。
注意-fPIC选项。PIC指Position Independent Code。共享库要求有此选项,以便实现动态连接(dynamic linking)。
生成共享库:
$gcc -shared -o mylib.so mylib.o
库文件以lib开始。共享库文件以.so为后缀。-shared表示生成一个共享库。
总结
以上所述是小编给大家介绍的linux中把.c的文件编译成.so文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对CodeAE代码之家网站的支持!
原文链接:https://blog.csdn.net/weixin_41799483/article/details/80415851

http://www.zzvips.com/article/230802.html
页: [1]
查看完整版本: linux中把.c的文件编译成.so文件