我正在尝试为Linux动态库(.so文件)创建一个hello world项目。所以我有一个文件hello.c:
#include <stdio.h> void hello() { printf("Hello world!\n"); }
如何hello()在命令行中使用gcc 创建导出的.so文件?
hello()
要生成共享库,您首先需要使用-fPIC(位置无关代码)标志编译C代码。
-fPIC
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