GCC工具集的使用

1. ar工具的使用

静态库用ar工具来制作。ar是一个归档工具,用于建立、修改、提取归档文件(archive)。

2. addr2line工具的使用。

Addr2line 工具是一个可以将指令的地址和可执行映像转换成文件名、函数名和源代码行数的工具。

一般适用于 debug 版本或带有 symbol 信息的库。

在调用 Addr2line 工具时,要使用 -e 选项来指定可执行映像是 test。通过使用 -f 选项,可以告诉工具输出函数名。

addr2line -e ko/vmlinux -a 0xc12348e7 -f

3. nm工具的使用

nm工具用于显示文件中的符号,可以用于各种ELF格式文件

4. strip工具的使用

strip工具用于删除文件中的符号,在资源有限的系统中,可以使用这种方法为程序进行瘦身。

5. readelf工具的使用

readelf工具用于显示ELF格式文件的信息

6. objdump工具的使用

objdump工具用来查看编译后目标文件的组成。

objdump反汇编常用参数

  • objdump -d <file(s)>: 将代码段反汇编;
  • objdump -S <file(s)>: 将代码段反汇编的同时,将反汇编代码与源代码交替显示,编译时需要使用-g参数,即需要调试信息;
  • objdump -C <file(s)>: 将C++符号名逆向解析
  • objdump -l <file(s)>: 反汇编代码中插入文件名和行号
  • objdump -j section <file(s)>: 仅反汇编指定的section

objdump -S your_module.ko > dump.log

7. strings工具的使用

strings工具用于查看文件中的字符串。

8. objcopy工具的使用

objcopy工具用于对目标文件的内容进行转换。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
gcc(GNU编译器套件)是一个开源的编译器套件,它是GNU计划的一部分。它可以编译C、C++、Fortran等多种编程语言,是许多操作系统(例如Linux)的默认编译器。 gcc是一个非常强大和灵活的工具,它可以生成高效的机器代码,因此被广泛用于开发各种类型的软件。除了编译功能外,gcc还提供了许多其他的工具和库,使得开发过程更加方便和高效。 gcc的依赖prm合集指的是gcc在编译过程中所依赖的一系列库和工具的集合。这些依赖项包括但不限于以下几个方面: 1. GNU binutils:这是一组二进制工具集,包括汇编器、链接器等。gcc使用这些工具来转换和处理源代码和目标代码。 2. GNU libc(GNU C Library):这是一个C语言的标准库,包含了许多常用的函数和宏。gcc在编译C程序时会链接这个库,以提供各种标准的功能和特性。 3. GNU libstdc++(GNU Standard C++ Library):这是一个C++语言的标准库,提供了丰富的类和函数。与libc类似,gcc在编译C++程序时会链接这个库,以实现C++标准的支持。 4. GNU libgcc:这是一个gcc自带的库,提供了一些与编译器本身相关的功能,例如异常处理和代码优化。 除了这些主要的依赖项外,gcc还可能依赖于其他一些外部库,具体取决于使用的功能和所编译的代码类型。 总之,gcc及其依赖prm合集是一个强大的编译器套件,它提供了丰富的功能和工具,为软件开发者提供了高效的编译环境。使用gcc,开发者可以轻松地编译和调试各种编程语言的程序,并生成高质量的机器代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值