问答题
作者:互联网
这个作业属于哪个课程 | 2020面向对象程序设计 |
---|---|
这个作业的目标 | 1.了解C语言、C++的优缺点及编译过程。 |
作业正文 | |
其他参考文献 | https://www.cnblogs.com/Eric-jx/articles/10048309.html、https://blog.csdn.net/weixin_40756041/article/details/88052207 |
问题一:1、如果你不了解C++请回答以下问题:你认为C语言有什么缺陷(你觉得哪里用的不顺手)。如果你已经了解C++请回答以下问题:你觉得C++和C语言比有什么优点。
缺陷:
1.危险性高:对于C语言来说,只要编码写得不是很离谱,就会被程序认为有特殊含义,可以通过。同时,有歧义的程序也可以通过,这会导致有很多漏洞,黑客往往会抓住这些漏洞进行攻击,所以说C语言的危险性高。
2.开发周期长:C语言是面向过程的语言,面向过程语言的一个特点就是写大项目的时候很容易“崩溃”。当代码上到10万行的时候C语言很容易崩溃,会出现各种各样莫名其妙的错误。
3.可移植性不强:C程序在其他机器上不一定能运行,就算能运行,结果可能也不一样。
问题二:查阅相关资料,简述一下C语言/C++的编译过程。
1.编译预处理:读取C语言源程序,对其中的伪指令和特殊符号进行处理。
2.编译阶段:通过词法分析和语法分析,在确认所有的指令都符合语法规则之后,将其翻译成等价的中间代码表示或汇编代码。
3.优化阶段:优化一部分是对中间代码的优化,另一种优化则主要针对目标代码的生成而进行的。
4.汇编过程:指把汇编语言代码翻译成目标机器指令的过程。
5.链接程序:主要工作就是将有关的目标文件彼此相连接,也即将在一个文件中引用的符号同该符号在另外一个文件中的定义连接起来。
标签:问答题,优化,代码,C++,C语言,编译,过程 来源: https://www.cnblogs.com/Freyr-S/p/12236641.html