当前位置:  技术问答>linux和unix

[请教]怎样获得共享库(动态连接库)中函数的原型以便编写专用库来覆盖它?

    来源: 互联网  发布时间:2015-03-20

    本文导语:  我想要自己编写一个库,然后用设置LD-PRELOAD变量来覆盖掉原库中坏掉的函数,但我有找不到源代码,很头大 另外,请问有没有像Windows中Depends一样强大的工具吗,谢啦?  用nm可以看到函数的名称,但仍然有2个问题: ...

我想要自己编写一个库,然后用设置LD-PRELOAD变量来覆盖掉原库中坏掉的函数,但我有找不到源代码,很头大

另外,请问有没有像Windows中Depends一样强大的工具吗,谢啦? 

用nm可以看到函数的名称,但仍然有2个问题:

1.怎么知道库中函数的原型,也就是函数的参数是什么?怎么从调用这个库的程序/或者库本身看出来?

2.我所要覆盖的库还需要调用其他的库中的函数,如果我不把这些库也ld进来,就会提示函数未定义,但这些库实在太多呀

恳请高手出马搭救!

|
对于第二个问题 现在很多函数库提供工具生成-l参数 比如libIDL-config libglade-config
什么的 比如
gcc xxx.c -o xxx `libIDL-config --libs` 就可以了

|
找原型,我只知道去找头文件,找库依赖的话,我只会看ldd的输出。

|
========================
     另外,请问有没有像Windows中Depends一样强大的工具吗,谢啦? 

     用nm可以看到函数的名称,但仍然有2个问题:

     1.怎么知道库中函数的原型,也就是函数的参数是什么?怎么从调用这个库的程序/或
     者库本身看出来?
     ==============================
你在windows中也是看不到函数的参数的啊,如果非要看的话,恐怕只有反汇编,再分析了

|
nm 或者objdump能看到符号表

|
?!我也只是知道第一个问题,就是用nm
第二个我也想知道,不过,在MS下也不可以看得出其中的参数来吧?!
学习ing

|
另外,请问有没有像Windows中Depends一样强大的工具吗,谢啦? 

     用nm可以看到函数的名称,但仍然有2个问题:

     1.怎么知道库中函数的原型,也就是函数的参数是什么?怎么从调用这个库的程序/或
     者库本身看出来?

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 高分请教:怎样在Kdevelop不能够Trace构造函数?(其他函数可以Trace)
  • 请教:javascript 里有没有时间循环执行的函数,如我按住鼠标触发mousedown 事件函数时,反复执行我写的一个函数?
  • 请教semop()函数的用法、含义
  • 请教套接字中的select()函数问题
  • 请教一个函数入口处的汇编问题(压栈问题)
  • 请教一个关于ftw函数的问题!
  • 100分请教高手一个bash函数
  • 请教signal函数的用法!
  • 请教exec系列函数的用法
  • 请教UNIX C字符输入的检测函数?
  • 请教关于dlopen,动态库连接程序的输出函数
  • 请教select函数
  • (菜鸟请教)还有修改/etc/passwd文件用什么函数呢?
  • linux下time函数问题请教高手
  • 请教一个网络编程问题,accept函数的,在线等,急。。。
  • 请教一个取时间的函数,急!!!!!!!!!!!!!!!!
  • 请教,JavaScript中能不能调用JSP写的函数?
  • 请教:clock_gettime函数的使用问题
  • 请教 变量= { function:函数名};什么意思
  • signal 函数请教
  • 请教,请教,这个问题是为什么????
  • 请教本地硬盘安装问题请教本地硬盘安装问题
  • ■请教■请教redhat最基本的问题!
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 高分请教,各位大侠,请教一个问题,理论高手请进??谢谢
  • 请教Linux下pgadmin3-1.0.2的编译和安装!!高分请教!
  • 各位大虾,请教装了REDHAT9操作系统后,启动时无法引导到LINUX,请教该如何解决啊
  • 请教,请教,,,一定要看!!一定要看!!
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教象我这样的硬盘应如何安装Linux,我昨天试装了,但有问题。(老问题了,也看了前面的帖子,但还是来请教,请多指教)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3