码迷,mamicode.com
首页 > 系统相关 > 详细

Linux下的库操作工具-nm、ar、ldd、ldconfig和ld.so

时间:2019-05-09 15:38:16      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:ons   etc   ldd   决定   .net   使用   china   有符号   com   

转自:https://www.cnblogs.com/wliangde/p/3806944.html

 Linux下的库操作工具-nm、ar、ldd、ldconfig和ld.so 

1、nm [options] file    列出file中的所有符号

 

    [option]

     -c   将符号转化为用户级的名字

     -s   当用于.a文件即静态库时,输出把符号名映射到定义该符号的模块或成员名的索引

     -u   显示在file外定义的符号或没有定义的符号

     -l   显示每个符号的行号,或为定义符号的重定义项

 

2、ar {dmpqrtx} [member] archive file    用于操作高度结构化的存档文件(.a)

    [options]

    -c    创建存档文件

    -s    创建或升级从符号到定义他们的成员之间的交叉索引映射表

    -r    替换archive中的同名文件或添加新文件

    -q    不检查而直接添加文件到存档文件的末尾

ranlib [-v|-V] file 的作用跟ar -s file相同

 

3、ldd [options] file    列出file运行所需的共享库

    [options]

    -d    执行重定位并报告所有丢失的函数

    -r    执行对函数和对象的重定位并报告丢失的任何函数或对象

 

4、 ldconfig [options] [libs]    决定位于目录/usr/lib和/lib下的共享库所需的运行的链接,这些链接由[libs]指定并被保存到/etc/ld.so.conf中

    [options]

    -p    打印文件/etc/ld.so.conf的内容

    -v    更新/etc/ld.so.conf

 

5、 ld.so    动态链接/加载器

    ld.so使用的两个环境变量

    $LD_LIBRARY_PATH 告诉ld.so去哪里查找保存在非标准目录下的共享库,冒号分隔,对应文件/etc/ld.so.conf

    $LD_PRELOAD告诉ld.so用户指定的在所有库加载之前加载的库所在的目录,空格分隔,对应文件/etc/ld.so.preload

Linux下的库操作工具-nm、ar、ldd、ldconfig和ld.so

标签:ons   etc   ldd   决定   .net   使用   china   有符号   com   

原文地址:https://www.cnblogs.com/xcwytu/p/10838448.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!