编译原理 实验二、编译器认知实验报告

一、实验目的:

        了解工业界常用的编译器GCC,熟悉编译器的安装和使用过程,观察编译器工作过程中生成的中间文件的格式和内容,了解编译器的优化效果,为编译器的学习和构造奠定良好的基础。


二、实验内容:

1.查看GCC编译器的版本

2.使用GCC编译器编译C程序文件,并运行生成的可执行文件

3.查看GCC编译器的预处理结果

4.查看GCC编译器生成的目标代码

5.比较GCC编译器在不同优化等级-O0与-O2下生成的目标代码的区别


三、实验环境:

Linux系统(Ubuntu、Debian、Gentoo等系统均可)

gcc 7.3.0 或更高版本


四、实验过程描述:

GCC 编译器,完成编译器安装和测试程序编写后,按如下步骤完成:

1.查看编译器的版本

2.使用编译器编译C程序文件,并运行生成的可执行文件

3.查看预处理结果:gcc -E prime.c -o prime.i

4.查看生成的目标代码(汇编代码):gcc –S prime.c –o prime.s

5.汇编代码转化成及其码,生成可重定位目标gcc -c prime.s -o prime.o


五、实验结果及分析:

1.查看GCC编译器版本

2.使用编译器编译C程序文件,并运行生成可执行文件

3.查看预处理结果

使用set nu 设置行号,预处理结果有1842行

4.查看GCC编译器生成目标代码

      

5.比较GCC编译器在不同优化等级下生成目标代码区别

根据第四步,优化前有182行;经过优化后,缩减到了118行。


六、实验心得体会:

        通过此次实验,让我对GCC编译器有了一定的认识。在此次实验过程中,不仅用到编译原理的知识,还需要掌握部分Linux系统指令,要学会融会贯通。在实验过程中,虽然有部分实验不会做,但及时向同学寻求帮助,完成了实验。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值