linux中把.c的文件编译成.so

linux中把.c的文件编译成.so,第1张

就跟用VS编译dll或者lib文件差不多,把代码编译完成以后,命名为相应的后缀就好了。

例如:

gcc

-c

-fPIC

libst.c

生成

libst.o

然后

gcc

-shared

-fPIC

-o

libst.so

libst.o

生成

libst.so

动态链接库

把libst.so拷贝到系统默认库目录下,比如

/lib,

/usr/lib

假定有

test.c

要引用这个库

gcc

-lst

-o

test

test.c

然后就可以了

假如不能把libst.so拷贝到默认库目录下,比方说放在了

/home/aaa/lib

那么就用这样的语句来编译test.c

gcc

-L/home/aaa/lib

-lst

-Wl,-rpath=/home/aaa/lib

-o

test

test.c

linux下的.so文件为共享库,相当于windows下的dll文件,使用方法如下:

在你的工程源代码里包含.h头文件,然后可以调用动态库里的函数,在链接的时候加上如下编译器参数:

-l xx.so

如果你的so文件是以lib开头的,还可以直接这样使用:

-lxx

xx是你的.so文件名

其实使用方法和你使用数学库函数是一样的,源代码中添加

#include <math.h>,编译的时候,加上-lm参数。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7475185.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存