欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

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

程序员文章站 2022-05-11 17:50:01
linux*享库以so为后缀(shared object),与windows下的dll类似,是在程序运行时动态连接。多个进程可以连接同一个共享库。 以下以编译mylib...

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文件,希望对大家有所帮助