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

Rayna ·
更新时间:2024-09-21
· 684 次阅读

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文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对软件开发网网站的支持!

您可能感兴趣的文章:Linux下将源文件编译成目标文件的过程解析Linux下查看.so和可执行文件是否debug编译的方法(必看)linux如何编译安装新内核支持NTFS文件系统(以redhat7.2x64为例)linux下安装mysql及mysql.sock问题CentOS 安装软件出现错误:/lib/ld-linux.so.2: bad ELF interpreter 解决Linux下MySQL5.7.18二进制包安装教程(无默认配置文件my_default.cnf)Linux系统中xorg.conf文件详细介绍



.so文件 so文件 .so linux中 Linux

需要 登录 后方可回复, 如果你还没有账号请 注册新账号