LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1428|回复: 4

关于ldd显示动态库的一个问题,急!

[复制链接]
发表于 2009-2-6 17:45:37 | 显示全部楼层 |阅读模式
一个例子:比如某个程序调用了pthread库,编译后的可执行文件ldd后会列出libpthread.so,显示该代码调用了pthread库,如果希望ldd只列出libpthread之外的其他项,也就是说,ldd之后感觉没有调用libpthread,怎么能够做到呢
 楼主| 发表于 2009-2-9 09:31:54 | 显示全部楼层
没朋友遇到个这个奇怪的需求?我的想法是在ld的阶段,在可执行程序中写入了库依赖的信息,而这些信息如果不写入的话应该不会影响功能,毕竟这只是描述信息,各位帮忙探讨一下,谈谈思路也行,客户提出了这种需求,没办法啊
回复 支持 反对

使用道具 举报

发表于 2009-2-10 13:23:41 | 显示全部楼层
ldd 只显示静态加载的动态链接库,不显示动态装载的动态链接库。

你使用动态装载就可以了,不过需要改程序。

当然,如果客户只是要 ldd 看不见的话,何不把客户的 ldd 改掉呢?

毕竟,就算用 ldd 看不见,只要程序一启动,就很容易知道程序加载了哪些库,而这是作不了假的。
回复 支持 反对

使用道具 举报

发表于 2009-2-10 15:50:50 | 显示全部楼层
不会是现在就有人想搞破坏了吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-11 17:31:35 | 显示全部楼层
应该不是搞什么破坏吧,估计是想提供SDK,一部分是public的,一部分是private的,不想让客户看到自己还包裹了一层private的东西,貌似掩耳盗铃的东西。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表