就像我们如何使用:
ar -t lib*.a
EDIT1
Linux:LD_PRELOAD + -z,initfirst
链接无法find符号,但库被读取并且符号存在
哪一个是推荐的:使用静态库与dynamic库(共享对象)
在多个进程之间共享共享对象
例
ar -t lib*.a
给我一个展示:
asset.o
sldep.o
设置setuid位后,程序无法加载
这是什么意思?
从命令行检索全局variables值
如何在共享对象库中共享variables
使用nm -D --defined-only libname.so从动态库中获取符号名称。
--defined-only开关--defined-only显示在这些文件中定义的符号,而不是引用外部函数。
另一种方法是使用objdump,只捕捉文本部分中的符号:
objdump -T /usr/lib/libjpeg.so | grep text ... 0001b5c0 g DF .text 00000016 Base jdiv_round_up 00003730 g DF .text 00000417 Base jpeg_set_colorspace 0000cda0 g DF .text 000002de Base jpeg_consume_input 00002b30 g DF .text 00000023 Base jpeg_abort_compress 00003b50 g DF .text 000000b6 Base jpeg_default_colorspace 00002810 g DF .text 00000067 Base jpeg_suppress_tables 00004110 g DF .text 00000130 Base jpeg_add_quant_table 000100c0 g DF .text 0000011f Base jpeg_save_markers ...
我认为nm -D就是你要找的。
$ nm -D /usr/lib/libpng.so ... 00000000000058f0 T png_reset_zstream 000000000000d420 T png_save_int_32 000000000000d450 T png_save_uint_16 000000000000d3f0 T png_save_uint_32 0000000000007810 T png_set_IHDR 0000000000007500 T png_set_pltE 000000000000ce20 T png_set_add_alpha 0000000000006670 T png_set_asm_flags 0000000000006970 T png_set_bKGD 000000000001a740 T png_set_background ...
nm -D命令列出了共享库的动态符号,这似乎正是你想要的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。