一尘不染

使用gcc命令行从.c文件构建.so文件

linux

我正在尝试为Linux动态库(.so文件)创建一个hello world项目。所以我有一个文件hello.c:

#include <stdio.h>
void hello()
{
    printf("Hello world!\n");
}

如何hello()在命令行中使用gcc 创建导出的.so文件?


阅读 300

收藏
2020-06-02

共1个答案

一尘不染

要生成共享库,您首先需要使用-fPIC(位置无关代码)标志编译C代码。

gcc -c -fPIC hello.c -o hello.o

这将生成一个目标文件(.o),现在您将其创建并创建.so文件:

gcc hello.o -shared -o libhello.so

编辑 :来自评论的建议:

您可以使用

gcc -shared -o libhello.so -fPIC hello.c
2020-06-02