GCC -S选项:生成汇编文件
文件 生成 gcc 选项 汇编
2023-06-13 09:11:59 时间
编译器的核心任务是把C程序翻译成机器的汇编语言(assembly language)。汇编语言是人类可以阅读的编程语言,也是相当接近实际机器码的语言。由此导致每种 CPU 架构都有不同的汇编语言。
实际上,GCC 是一个适合多种 CPU 架构的编译器,不会把C程序语句直接翻译成目标机器的汇编语言,而是在输入语言和输出汇编语言之间,利用一个中间语言,称为 RegisterTransfer Language(简称 RTL,寄存器传输语言)。借助于这个抽象层,在任何背景下,编译器可以选择最经济的方式对给定的操作编码。
而且,在交互文件中针对目标机器的抽象描述,为编译器重新定向到新架构提供了一个结构化的方式。但是,从 GCC 用户角度来看,我们可以忽略这个中间步骤。
通常情况下,GCC 把汇编语言输出存储到临时文件中,并且在汇编器执行完后立刻删除它们。但是可以使用-S选项,让编译程序在生成汇编语言输出之后立刻停止。
如果没有指定输出文件名,那么采用-S选项的 GCC 编译过程会为每个被编译的输入文件生成以.s作为后缀的汇编语言文件。如下例所示:
$ gcc -S circle.c
编译器预处理 circle.c,将其翻译成汇编语言,并将结果存储在 circle.s 文件中。
如果想把C语言变量的名称作为汇编语言语句中的注释,可以加上-fverbose-asm选项:
$ gcc -S -fverbose-asm circle.c
22299.html
C语言GCC汇编语言相关文章
- 如何使用Redis接管文件存储
- 【说站】Java从resources读取文件内容的方法有哪些
- 【Linux编程】如何使用gcc生成预编译文件?
- PHP获取文件扩展名的4种方法
- Java实现将文件或者文件夹压缩成zip详解编程语言
- Linux文件描述符0:标准输入的必不可少的钥匙(linux文件描述符0)
- Linux下构建并生成动态链接库so文件(linux生成so文件)
- 学习 Linux C 程序:行读取文件(linuxc行读文件)
- eclipse建立web项目时忘了生成xml文件的解决办法详解编程语言
- GCC -c选项:只编译不链接,仅生成目标文件
- MySQL 导出脚本:生成可移植的文件(mysql导出脚本文件)
- 查找Oracle数据库文件路径的指南(查询oracle文件路径)
- 命令行技巧:分割文件内容
- 文件Linux下快速全局查找文件(linux全局查找)
- Linux文件系统常见文件之mtab(linuxmtab)
- 用MSSQL快速生成MDB文件(mssql 生成 mdb)
- FTP文件快速入库Oracle数据库(ftp文件入oracle)
- php批量生成html,txt文件的实现代码
- 采用thinkphp自带方法生成静态html文件详解