linuxshared内存为0

linuxshared内存为0,第1张

每天共享内存。linuxshared内存为0,是由于没有共享内存的情况出现。Shared表示多个进程共享的内存总额。Linux是一套免费使用和自由传播的类Unix *** 作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的 *** 作系统。

在一个C项目中,我们需要解析配置文件,然后选用了libconfuse库.从源码编译安装之后,照着官网的例子,写了一个测试程序,却不能成功运行,老是出现如题所示的错误.

开始是找不到函数的定义,于是链接了一下外部库,解决:

gcc -o TestConfuse TestConfuse.c /usr/local/lib/libconfuse.a

然后就是cannot open shared object file: No such file or directory了,通过执行 sudo ldconfig 命令解决.

ldconfig 是一个用于管理 Share Library Cache 的工具.这些缓存一般保存在 /etc/ld.so.cache 中.这些缓存被系统用于映射库名称和其位置的关系.这个映射关系,会在共享库需要被动态链接到程序中时,被用到.默认情况下,共享库都放在 /lib,/usr/lib 中.

那么,如果我们将共享库安装到 /usr/local/lib 中,在我们需要用到这个共享库时,就会因为从动态库缓存中,找不到它,而导致出现上面的错误.

解决方法有两个:

在Ubuntu14.04上实验过没有问题,在其他的Linux发行版上没有尝试过.


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

原文地址:https://54852.com/yw/7230568.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存