日度归档:2020年11月21日

Linux中gcov命令起什么作用呢?


摘要:
下文讲述Linux中gcov命令的功能说明,如下所示;

gcov命令功能: 
      用于统计每一行代码的执行频率,
       如:那一行代码被执行及其执行时间
 
     gcov命令的语法格式:
        gcov [参数] [文件]
       -------常用参数说明-----  
        -a:显示每个基本的信息
        -b:输出包含分支概率
        -c:给出跳转的分支数,而不是百分比
        -n:不创建输出文件
        -l:为包含进来的源文件使用长输出文件名
        -f:输出每个函数的小结信息
        -p:保留所有路径名
      
      -----注意事项----
       1.gcov是一款测试程序的代码覆盖率工具
       2.如果文件不能被GCC 编译,则产生相应的警告信息 
          gcno:cannot open graph file

例:
gcov命令的示例分享

  

---显示 /usr/local/c/maomao.c的代码覆盖率
[root@maomao365.com ~]# gcov  /usr/local/c/maomao.c
 

Linux中ldd命令起什么作用呢?


摘要:
下文讲述Linux中ldd命令的功能说明,如下所示;

ldd命令功能: 
      用于输出程序或库文件所依赖的共享库列表
 
     ldd命令的语法格式:
        ldd [参数] [文件]
       -------常用参数说明-----  
       -v:详细信息模式,打印所有相关信息
       -u:打印未使用的直接依赖
       -d:执行重定位和报告任何丢失的对象
       -r:执行数据对象和函数的重定位,并且报告任何丢失的对象和函数
       -- -help:显示帮助信息
      

例:
ldd命令的示例分享

  

---显示vi的依赖共享库
[root@maomao365.com ~]# ldd /bin/vi
        linux-vdso.so.1 =>  (0x00007ffdf1ed2000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x0000003a4f600000)
        libtinfo.so.5 => /lib64/libtinfo.so.5 (0x0000003a4fa00000)
        libacl.so.1 => /lib64/libacl.so.1 (0x0000003a53e00000)
        libc.so.6 => /lib64/libc.so.6 (0x0000003a4e200000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000003a4ea00000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003a4de00000)
        libattr.so.1 => /lib64/libattr.so.1 (0x0000003a51e00000)
 

Linux中ld命令起什么作用呢?


摘要:
下文讲述Linux中ld命令的功能说明,如下所示;

ld命令功能: 
      用于将目标文件连接为一个可执行程序
 
     ld命令的语法格式:
        ld [参数]
       -------常用参数说明-----  
        -o:指定输出文件名
        -e:指定程序的入口符号
      

例:
ld命令的示例分享

  

---将文件“/lib/maomao_1.o”与“ maomao_2.o”和库“maomao_3.a”链接起来,
生成一个名为maomao的文件

[root@maomao365 ~]#ld -o maomao /lib/maomao_1.o maomao_2.o -lc