动态库管理命令
动态库管理
nm命令
列出目标文件(可执行文件, 对象文件或库文件)的符号
nm [选项] [文件名]
-a # 显示所有符号
-a :显示所有符号,包括默认不显示的符号。
-C :显示符号的 C++ 名称修饰(demangle)。
-D :只显示动态符号。
-g :只显示全局符号。
-n :按地址排序输出符号。
-o :在每个符号前加上文件名。
-p :不按地址或名称排序。
-r :按地址逆序排序。
-S :显示每个符号的大小。
-t :指定地址的格式( o表示八进制,x表示十六进制,d 表示十进制)。
-u :只显示未定义的符号。
-A :在每个符号前加上文件名(与-o 类似)。

strings命令
strings命令,用于从二进制文件、对象文件、可执行文件或其他文件中提取可打印的字符串
strings [选项] [文件名]
-a :扫描整个文件,而不是只扫描可加载的段。这是默认行为,但可以显式指定。
-t :在每个字符串前打印其偏移量。可以指定偏移量的格式:
-t d :十进制格式。 -t x :十六进制格式(默认)。 -t o :八进制格式。
-n :指定最小字符串长度,默认值为 4 个字符。
-f :在每个字符串前打印其来源文件名。
-e :指定字符编码,常见的有: -e s :ASCII(默认)。 -e S :UTF-16 大端。 -e l :UTF-16 小端。 -e b :UTF-32 大端。 -e L :UTF-32 小端。
-o :与-t o 相同,以八进制格式打印偏移量(已废弃)。
-w :在每个字符串前打印其来源文件名和偏移量。
strings kheaders.ko
ldd命令
ldd打印共享对象依赖
ldd

ldd -v

ldconfig命令
ldconfig管理动态链接库命令
-v 或 --verbose :显示正在扫描的目录及搜索到的动态链接库,以及所创建的连接的名字。
-n :仅扫描命令行指定的目录,不扫描默认目录,也不扫描配置文件所列的目录。
-N :不重建缓存文件/etc/ld.so.cache。
-X :不更新文件的连接。
-f <conf> :指定动态链接库的配置文件为<conf> ,系统默认为/etc/ld.so.conf。
-C <cache> :指定生成的缓存文件为<cache>,系统默认为/etc/ld.so.cache。
-r <root> :改变应用程序的根目录为<root>。
-l :进入专家模式手工设置连接。
-p 或--print-cache:打印出当前缓存文件所保存的所有共享库的名字。
-c <format>或--format=<format> :指定缓存文件所使用的格式,可选值为ld (老格式)、 new (新格式)和compat(兼容格式,默认值)。
-V :打印出ldconfig的版本信息,然后退出。
-? 或--help或--usage :打印帮助信息,然后退出.

浙公网安备 33010602011771号