sas*_*alm 145 c linux gcc shared-libraries
我正在尝试为Linux动态库(.so文件)创建一个hello world项目.所以我有一个文件hello.c:
#include <stdio.h>
void hello()
{
printf("Hello world!\n");
}
Run Code Online (Sandbox Code Playgroud)
如何hello()使用命令行中的gcc 创建导出的.so文件?
dre*_*ash 254
要生成共享库,首先需要使用-fPIC(位置无关代码)标志编译C代码.
gcc -c -fPIC hello.c -o hello.o
Run Code Online (Sandbox Code Playgroud)
这将生成一个目标文件(.o),现在你接受并创建.so文件:
gcc hello.o -shared -o libhello.so
Run Code Online (Sandbox Code Playgroud)
编辑:意见建议:
您可以使用
gcc -shared -o libhello.so -fPIC hello.c
Run Code Online (Sandbox Code Playgroud)
一步到位.- 乔纳森莱弗勒
我还建议添加-Wall以获取所有警告,并-g获取调试信息到您的gcc命令.- Basile Starynkevitch
| 归档时间: |
|
| 查看次数: |
144028 次 |
| 最近记录: |