我正在尝试为Linux动态库(.so文件)创建一个hello world项目。所以我有一个文件hello.c:
#include <stdio.h>
void hello()
{
printf("Hello world!\n");
}
如何使用命令行中的gcc创建一个导出
hello()
的.so文件? 最佳答案
要生成共享库,您首先需要使用-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
一步就能做到。 – Jonathan Leffler
我还建议在
-Wall
命令中添加-g
以获取所有警告,并添加gcc
以获取调试信息。 – Basile Starynkevitch关于c - 使用gcc命令行从.c文件构建.so文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59830864/