关于 Linux c 的函数库文件的 路径问题

关于 Linux c 的函数库文件的 路径问题,第1张

要学会用man,特别是man 2(系统调用)和man 3(C函数库),比如:

man sqrt

会显示需要引用的头文件,编译时需要的动态链接库

如果重复,则需要指定手册章节,比如

man write 显示的是write程序帮助,如果想看系统调用,则要输入man 2 wirte

另外,/lib64:/lib:/usr/lib64:/usr/lib这些是系统缺省的,不用指定

ps查看所有符合/cmd的进程,找出其对应的进程号 用ll命令: ll 进程号 如下显示一个示例: [root@Cluster1 proc]# ll 22401 total 0 -r--r--r-- 1 zhouys zhouys 0 Dec 11 11:10 cmdline -r--r--r-- 1 zhouys zhouys 0 Dec 11 11:10 cpu lrwxrwxrwx 1 zhouys zhouys 0 Dec 11 11:10 cwd -> /home/zhouys/sbs/bin -r-------- 1 zhouys zhouys 0 Dec 11 11:10 environ lrwxrwxrwx 1 zhouys zhouys 0 Dec 11 11:10 exe -> /home/zhouys/sbs/bin/cbs (deleted) dr-x------ 2 zhouys zhouys 0 Dec 11 11:10 fd -r-------- 1 zhouys zhouys 0 Dec 11 11:10 maps -rw------- 1 zhouys zhouys 0 Dec 11 11:10 mem -r--r--r-- 1 zhouys zhouys 0 Dec 11 11:10 mounts lrwxrwxrwx 1 zhouys zhouys 0 Dec 11 11:10 root -> / -r--r--r-- 1 zhouys zhouys 0 Dec 11 11:10 stat -r--r--r-- 1 zhouys zhouys 0 Dec 11 11:10 statm -r--r--r-- 1 zhouys zhouys 0 Dec 11 11:10 status /proc文件系统下的 进程号目录 下面的文件镜像了进程的当前运行信息, 从中可以看到: cwd符号链接的就是进程22401的运行目录; exe符号连接就是执行程序的绝对路径; cmdline就是程序运行时输入的命令行命令;本例为:/cbs cpu记录了进程可能运行在其上的cpu;显示虚拟的cpu信息 environ记录了进程运行时的环境变量 fd目录下是进程打开或使用的文件的符号连接 通过cwd直接进入进程运行目录,通过查看相关信息就可以定位此目录对应那个端口号,以及 定位是那个应用才使用此服务程序。

ldsoconf只是在编译时查找动态库的路径;

运行时动态库的查找路径默认在/usr/lib和/lib,所以找不到

可以设置LD_LIBRARY_PATH=/usr/local/ma(你动态库的所在目录)

或者把动态库拷贝到/usr/lib或/lib下

-lxx

xx是你的so文件名

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

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

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

扩展资料:

 

linux下编写调用so文件实例

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

比如:

文件有: ac, bc, cc

gcc -c ac

gcc -c bc

gcc -c cc

gcc -shared libXXXso ao bo co

要使用的话也很简单 比如编译dc, 使用到libXXXso中的函数, libXXXso地址是MYPATH 

gcc dc -o d -LMYPATH -lXXX

注意不是-llibXXX

testc文件和一个testh,这两个文件要生成libsotestso文件。然后我还有一个testsoc文件,在这个文件里面调用libsotestso中的函数。

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

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

以上就是关于关于 Linux c 的函数库文件的 路径问题全部的内容,包括:关于 Linux c 的函数库文件的 路径问题、如何获取linux进程的执行文件路径、(linux)动态链接库找不到路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9413645.html

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

发表评论

登录后才能评论

评论列表(0条)

保存