请问我有一个.so文件,如何在Linux下编程使用呢? (linux 提示.so文件)

-lxx

xx是你的.so文件名

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

#include ,编译的时候,加上-lm参数。

注:linux下的.so文件为共享库,相当于windows下的dll文件。

扩展资料: 

linux下编写调用so文件实例

.so是Linux(Unix)下的动态链接库. 和.dll类似. 

比如:

文件有: a.c, b.c, c.c 

gcc -c a.c 

gcc -c b.c 

gcc -c c.c 

gcc -shared libXXX.so a.o b.o c.o 

要使用的话也很简单. 比如编译d.c, 使用到libXXX.so中的函数, libXXX.so地址是MYPATH 

gcc d.c -o d -LMYPATH -lXXX 

注意不是告孝-llibXXX

test.c文件和一个test.h,这两个文件要生成libsotest.so文件。然后我还有一个testso.c文件,在这个文件里缓友简面调用libsotest.so中的函数。

编写的过程中,首先是编译so文件,我没有编写makefile文件,而是参考的2里面说的直接写的gcc命令。

因为so文件里面没有main函数,所以扰裤是不可执行的,所以编译的时候要加上-c,只生成目标文件。

相关问题拓展阅读:

如何查看 linux 下 so文件

方法一:

文件名已经带有版本号:

这种情况下很容易就能够看到软链指向的文件的版本号是 1.0.1

方法二:

当文件名不带版本号时:如下所示

使用readelf -a ***.so读取出文件的版本号,不过此时只能读取到主版本号,version:1

方法三:

如果文件名不带版本号,且又想知道具正键体的版本号的时候怎么办呢?

这时候只能使用傻瓜方法,生成md5值与已知版本号的共享库相对比了。

$ md5sum fcrypt.so.1.0.1

d097363e391e926fdd1687d17bb1ebf7 fcrypt.so.1.0.1

$ md5sum fcrypt.so

d097363e391e926fdd1687d17bb1ebf7 fcrypt.so

两禅清租个md5值一致,由此得出版本贺兆应该是1.0.1。

linux 提示.so文件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux 提示.so文件,请问我有一个.so文件,如何在Linux下编程使用呢?,如何查看 linux 下 so文件的信息别忘了在本站进行查找喔。


数据运维技术 » 请问我有一个.so文件,如何在Linux下编程使用呢? (linux 提示.so文件)