“编译器”是一种非常重要的基础软件,其核心功能是对源代码形态的单个或一组源程序依次进行预处理、

题目

“编译器”是一种非常重要的基础软件,其核心功能是对源代码形态的单个或一组源程序依次进行预处理、词法分析、语法分析、语义分析、代码生成、代码优化等处理,最终生成目标机器的可执行代码。考虑以下与编译器相关的软件架构设计场景:传统的编译器设计中,上述处理过程都以独立功能模块的形式存在,程序源代码作为一个整体,依次在不同模块中进行传递,最终完成编译过程。针对这种设计思路,传统的编译器采用顺序批处理架构风格比较合适。 随着编译、链接、调试、执行等开发过程的一体化趋势发展,集成开发环境(IDE)随之出现。IDE集成了编译器、连接器、调试器等多种工具,支持代码的增量修改与处理,能够实现不同工具之间的信息交互,覆盖整个软件开发生命周期。针对这种需求,IDE采用(50)架构风格比较合适。IDE强调交互式编程,用户在修改程序代码后,会同时触发语法高亮显示、语法错误提示、程序结构更新等多种功能的调用与结果呈现,针对这种需求,通常采用(51)架构风格比较合适。

A.规则引擎

B.解释器

C.数据共享

D.黑板

参考答案和解析
正确答案:C
传统的编译器一般采用数据流架构风格,在这种架构中,每个构件都有一组输入和输出,数据输入构件,经过内部处理,然后产生数据输出。编译处理过程中,会分步将源代码一次一次的处理,最终形成目标代码,这与数据流架构风格相当吻合。但选项中有两个数据流风格的架构供选择,即:“管道-过滤器”和“顺序批处理”,这就需要进一步分析哪个更合适,由于题目中提到“程序源代码作为一个整体,依次在不同模块中进行传递”,而顺序批处理是强调把数据整体处理的,所以应选用顺序批处理风格。IDE是一种集成式的开发环境,在这种环境中,多种工具是围绕同一数据进行处理,这种情况适合用数据共享架构风格。在题目中提到IDE环境是一种交互式编程,用户在修改程序代码后,会同时触发语法高亮显示、语法错误提示、程序结构更新等多种功能的调用与结果呈现。在做一件事情时,同时触发一系列的行为,这是典型的隐式调用风格(事件驱动系统)。“使IDE能够生成符合新操作系统要求的运行代码”,这一要求是可以通过适配策略满足的,像设计模式中的适配器模式便是采用适配的方式,形成一致的接口。“模拟新操作系统的运行环境”是典型的虚拟机架构风格的特长。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

Python是一种脚本语言,编辑完成的源程序也叫源代码,可以直接运行。


错误

第2题:

编译器和解释器是将源程序翻译成机器语言程序的软件,他们的工作方式不一样。()根据需要一条一条地分析和执行源代码指令。


C

第3题:

C语言编译器是一种________。

A.字处理系统

B.系统软件

C.源程序

D.微机操作系统


A

第4题:

以下描述正确的是()

A.C语言的预处理功能是指完成宏替换和包含文件的调用

B.预处理指令只能位于C源程序文件的首部

C.凡是C源程序中行首以“#”标识的控制行都是预处理指令

D.C语言的编译预处理就是对源程序进行初步的语法检查


C 解析:本题中,A和B的描述是一样的,故可以排除。在C++中,建议用inline函数取代C语言中的宏定义功能。

第5题:

LOC是软件规模的一种量度,它表示 ( ) 。

A.软件功能数
B.源代码行数
C.每单位成本数
D.工作量

答案:B
解析:
LOC是Lines of Codes的缩写,指构成软件的源代码行数。LOC主要用于估算软件成本和规模。软件估算的另外一个传统参数是功能数目。

第6题:

如果要使得用 C 语言编写的程序在计算机上运行,则对其源程序需要依次进行 (31)等阶段的处理。

A.预处理、汇编和编译
B.编译、链接和汇编
C.预处理、编译和链接
D.编译、预处理和链接

答案:C
解析:
可参考《程序员教程(第四版)》P385。源程序的处理步骤——预处理、编译、链接、运行

第7题:

如果要使得用 C 语言编写的程序在计算机上运行,则对其源程序需要依次进行( )等阶段的处理。

A.预处理、汇编和编译 B.编译、链接和汇编 C.预处理、编译和链接 D.编译、预处理和链接


正确答案:C

第8题:

LOC是软件规模的一种量度,它表示(34)。

A.软件功能数

B.源代码行数

C.每单位成本数

D.工作量


正确答案:B
解析:LOC是Lines of Codes的缩写,指构成软件的源代码行数。LOC主要用于估算软件成本和规模。软件估算的另外一个传统参数是功能数目。

第9题:

在多数计算机中,编译器在对一个源程序或源程序段进行编译是不能确定程序在主存中的实际位置的。()

此题为判断题(对,错)。


参考答案:正确