ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

9.4 作业1-了解编译原理

2019-09-04 11:01:52  阅读:308  来源: 互联网

标签:gcc 翻译程序 作业 解释程序 源程序 编译 9.4 编译程序


1)简述编译程序与翻译程序、汇编程序的联系与区别。

翻译程序是指把高级语言源程序翻译成机器语言源程序(目标代码)的软件。

翻译程序有两种:一种是编译程序,它将高级语言源程序一次性全部翻译成目标程序,每次执行程序时,只要执行目标程序。另一种是解释程序,它的执行过程是翻译一句执行一句,并且不会生成目标程序。

编译程序是先完整编译后运行的程序,如C、C++等;解释程序是一句一句翻译且边翻译边执行的程序,如JavaScript、Python等。附C语言编译链接过程:

汇编程序也是一种语言翻译程序,它把汇编语言源程序翻译成机器语言程序。

编译程序与汇编程序的区别:如果源语言是诸如C、C++、Java等“高级语言”,而目标语言是诸如汇编语言或机器语言之类的“低级语言”,这样的一个翻译程序称为编译程序。如果源语言是汇编语言,而目标语言是机器语言,这样的一个翻译程序称为汇编程序。

 2)编译过程包括哪几个主要阶段及每个阶段的主要功能。

编译过程主要包括预编译处理(.c) -->编译、优化程序(.s、.asm)-->汇编程序(.obj、.o、.a、.ko)--> 链接程序(.exe、.elf、.axf等)这四个阶段。

这四个阶段的主要功能分别如下:

预编译:将.c 文件转化成.i文件 使用的gcc命令是:gcc–E 对应于预处理命令cpp

编译:将.c/.h文件转换成.s文件 使用的gcc命令是:gcc–S 对应于编译命令 cc –S

汇编 :将.s 文件转化成.o文件 使用的gcc 命令是:gcc–c 对应于汇编命令是 as

链接:将.o文件转化成可执行程序 使用的gcc命令是: gcc 对应于链接命令是 ld

 3)简述解释程序与编译程序的区别。

 编译程序是专指将高级语言变成低级语言,而解释程序是指接受某高级语言的一个语句输入,进行解释并控制计算机执行,马上得到这句的执行结果,然后再接受下一句。

编译程序是将源程序进行编译之后最终转变成目标程序然后输入数据执行得出计算结果。而解释程序则是同时输入数据和源程序进行解释然后得出计算结果。

4)了解新开源的华为方舟编译器(https://www.openarkcompiler.cn/home),理解并谈谈它的基本思想与采用的技术路线,以及它对安卓软件生态会有什么影响。

华为方舟编译器采取了静态编译的方式,是首个取代了安卓虚拟机模式的静态编译器。它会对安卓软件生态会产生影响。比如锻炼人才,为Android注入新活力,提供更好的用户体验。

 

 

标签:gcc,翻译程序,作业,解释程序,源程序,编译,9.4,编译程序
来源: https://www.cnblogs.com/heiyedeshihouh/p/11457675.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有