使用gcc命令行从.c文件生成.so文件
我正在尝试为Linuxdynamic库(.so文件)创build一个hello世界项目。 所以我有一个文件hello.c:
#include <stdio.h> void hello() { printf("Hello world!\n"); }
如何使用命令行中的gcc创build一个导出hello()
的.so文件?
要生成共享库,您首先需要使用-fPIC
(位置独立代码)标志编译您的C代码。
gcc -c -fPIC hello.c -o hello.o
这将生成一个目标文件(.o),现在你把它创build.so文件:
gcc hello.o -shared -o libhello.so
编辑 :从意见的build议:
您可以使用
gcc -shared -o libhello.so -fPIC hello.c
一步到位。 – Jonathan Leffler
我还build议添加-Wall
来获取所有的警告信息, -g
获取debugging信息到你的gcc
命令。 – 巴西尔Starynkevitch