2164930278 发表于 2019-8-19 13:29:10

在Linux系统中把C语言编译成汇编语言及机器语言

哈喽!爱学习的我又来了.。。。。废话少说,下面进入正题:
1、C语言编译过程:
1、预处理
   1)、宏定义展开
   2)、头文件展开
   3)、删除注释
   4)、条件编译
   格式:gcc -E a.c -o a.i
2、编译
   1)、检查语法
   2)、转化成汇编语言
   格式:gcc -S a.i -o a.s
3、汇编
   1)、将汇编语言转化成机器语言
   格式:gcc -c a.s -o a.o
4、链接
   1)、将库文件链接变成可执行文件
   格式:gcc a.o -o a.exe
注:a.c 代表的是.c的源文件a是文件名   当然这种编译过程很麻烦,所以就使用一步编译就是甲鱼老师C语言课程演示的


2、下面说一下编译器

1.gcc(GNU Compiler Collection,GNU 编译器套件),是由 GNU 开发的编程语言编译器。gcc原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器,gcc同样适用于微软的Windows。
gcc最初用于编译C语言,随着项目的发展gcc已经成为了能够编译C、C++、Java、Ada、fortran、Object C、Object C++、Go语言的编译器大家族。
2.gcc、g++编译常用选项说明:
选项                 含义
-o file        指定生成的输出文件名为file
-E        只进行预处理
-S(大写)        只进行预处理和编译
-c(小写)        只进行预处理、编译和汇编


最后看看与想想我上传的附件。。。。
祝各位开心、学C有成{:5_110:}
页: [1]
查看完整版本: 在Linux系统中把C语言编译成汇编语言及机器语言