博客
关于我
Linux中的C语言程序编译过程
阅读量:275 次
发布时间:2019-03-03

本文共 747 字,大约阅读时间需要 2 分钟。

文章目录

GCC命令

GCC 原名为 GNU C 语言编译器,因为它原本只能处理C语言。GCC 很快地扩展,变得可处理 C++。后来又扩展为能够支持更多编程语言,如Fortran、Pascal、Objective-C、Java、Ada、Go以及各类处理器架构上的汇编语言等,所以改名GNU编译器套件。

更多的,为了快捷简单,用下条命令直接编译C语言程序

gcc demo.c -o demo       //包含了编译过程中的预处理,编译,汇编和链接四个阶段

含义:用 gcc 编译 demo.c,并生成一个二进制文件 demo。 其中 –o 的意义是 output,指明要生成的文件的名称,如果不写 –o demo ,则默认生成 a.out 文件(Linux下.out后缀的是可执行文件,相当于windows下的.exe文件)。完成了从 C 源程序到 ELF 格式(Linux 系统下的可执行文件的格式)的全部步骤,生成的文件 demo是一个可以直接运行的二进制文件

gcc命令下各选项的含义

-E:仅作预处理,不进行编译、汇编和链接

-S:仅编译到汇编语言,不进行汇编和链接
-c:编译、汇编到目标代码(也就是计算机可识别的二进制)
-o:执行命令后文件的命名
-g:生成调试信息
-w:不生成任何警告
-Wall:生成所有的警告

以下是进行编译的过程

创建测试文件

touch demo.c

预处理

gcc -E demo.c -o demo.i//生成预处理文件

编译

gcc -S demo.i -o demo.s//生成汇编源代码文件

汇编

gcc -c demo.s -o demo.o//生成汇编代码文件

链接

gcc demo.o -o demo//生成可执行文件

图示过程

在这里插入图片描述

转载地址:http://zhcl.baihongyu.com/

你可能感兴趣的文章
【考研经验】2018四跨吉林大学计算机初试复试经验贴(67+72+99+141=379分)
查看>>
8个立竿见影的技巧,帮你摆脱考研焦虑
查看>>
注意绕道!考研路上几大隐形致命杀手!
查看>>
【20考研】英语第一轮复习要做的二三事
查看>>
阿里某程序员吐槽:每天回家都想着离职,但又舍不得这份薪水
查看>>
【研究生】PyTorch 1.0稳定版正式发布,并向开发者提供免费AI课程
查看>>
平均分392分!某985计算机专硕复试线暴涨!
查看>>
为何二战考生成功率远远大于应届?
查看>>
哈尔滨工业大学2019初试真题 已更新在GitHub
查看>>
计算机专业【本科生】毕业还不如【专科生】?
查看>>
考研408联盟新添一所985!某知名大学专业课改用408!
查看>>
最有钱的大学是哪个?教育部直属高校公布2018年决算
查看>>
408的逆袭!武汉大学所有计算机/软件专业都改为408!
查看>>
408又多一所学校!广东某大学专业课改为408!
查看>>
难以置信!疯狂刷政治题抵不过这些小技巧
查看>>
【报名问题】考研现场确认时发现报考点选错了怎么办?
查看>>
100000+人体验过后都说:这TM绝对是最变态的英语学习方法……
查看>>
广东省将新增一所“中科大”,办学规模初定1万人!
查看>>
提醒 | 未下载打印准考证的考生,不能参加2020年考研初试
查看>>
【考研数学】高数公式总结
查看>>