gcc,g++ / gdb的使用 / make/Makefile/进度条/git

Linux编译器 - gcc/g++使用

默认编译出来的文件名是 a.out
./ 的意思是当前路径下
在这里插入图片描述

复习一下四个步骤:
1.预处理(进行宏替换)
2.编译(生成汇编语言)
3.汇编(生成机器可识别的代码)
4.链接(生成可执行文件或库文件)

①使用指令生成mycode.i文件(.i为后缀一般是预处理以后的文件)
-E的意思是开始翻译,到预处理这个动作后结束在这里插入图片描述
打开预编译后的文件发现文件很大
在这里插入图片描述

②同样执行gcc -S mycode.c -o mycode.s ,意思是“开始程序的翻译,完成编译以后,停止!!”
同时把它命名成mycode.s
在这里插入图片描述
用命令vim mycode.s 打开出来就是一份汇编的代码
在这里插入图片描述
问题:计算机可以执行汇编语言吗?汇编语言需要编译器吗?
不可以。 当然需要,汇编也有编译器

③第三步同样,gcc -c mytest.s -o mytest.c 形成汇编以后的代码(注意这边是小写c)
在这里插入图片描述
在这里插入图片描述
我们也可以使用二进制工具来查看od mycode.o
在这里插入图片描述
汇编形成的虽然是二进制文件,但是不可以直接执行,这个文件叫做可重定向目标文件

*这些步骤+在一起,可以这么写
在这里插入图片描述
记的小tip: ESc 对应的就是键盘左上的按键,形成的文件就是iso

为什么C程序翻译是这个过程?
最开始的人写代码&#

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值