首页 > 系统 > Linux > 正文

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

2024-08-28 00:00:59
字体:
来源:转载
供稿:网友
  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表示生成一个共享库。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表