`
RednaxelaFX
  • 浏览: 3015403 次
  • 性别: Icon_minigender_1
  • 来自: 海外
社区版块
存档分类
最新评论

几个简答题

阅读更多
某题目 写道


龙书 写道
In addition to a compiler, several other programs may be required to create an executable target program, as shown in Fig. 1 .5. A source program may be divided into modules stored in separate files. The task of collecting the source program is sometimes entrusted to a separate program, called a preprocessor. The preprocessor may also expand shorthands, called macros, into source language statements.

The modified source program is then fed to a compiler. The compiler may produce an assembly-language program as its output, because assembly language is easier to produce as output and is easier to debug. The assembly language is then processed by a program called an assembler that produces relocatable machine code as its output.


嗯,帮朋友回答几个问题,太长了不方便发推,所以发这里了。

1、编译器一般不直接生成机器码,而是先生成汇编,再由汇编器转换为机器码。请简述其理由。

答:
因为汇编比机器码更容易生成一些,先生成汇编再转换为机器码有助将功能划分开,提高模块性。
汇编中可以保留符号信息,不必将最终的地址(或一些偏移量)计算出来;而机器码自身已经完全失去了符号信息,例如跳转目标必须是明确的数值形式的地址或偏移量。高级的汇编中也可以声明和使用宏,也可用于简化特定领域的代码生成过程。

2、编译器一般都有不进行优化以及进行优化两种模式。请简述其理由。

答:
首先,编译器要保证在翻译过程中保持语义的正确性。由于不进行优化时编译器做的是比较直观的翻译,其正确性容易得到保证。相对的,优化可能带来语义的偏差,所以在编译器开发中常以不优化的编译结果作为基准,对比验证优化的编译结果是否有bug。

其次,不优化的代码易于调试。由于优化过程中可能将原本用户代码中的一些变量削除掉,或者是将用户代码中的运算顺序打乱,这些都不利于调试。

第三,不进行优化比进行优化的编译速度高许多。

3、C语言编译器中的预处理器被认为可降低编译器的开发成本。请简述其理由。

答:
C语言通过预处理器来完成源码的引用、包含,便于将源码分散在不同源文件中;同时C语言的预处理器还实现了条件编译和宏的功能,可以实质上扩展C的语法;预处理器还会将注释剥离掉。经过预处理,编译器的后续部分就不需要关注源文件间的相互引用,只会看到完全符合C语言的语法的源码,简化了后续处理过程。

4、普通的Java语言编译器没有与C语言的预处理器对等的部分。请简述其理由。

答:
因为Java语言的功能与设计思路与C语言有差别,不需要像C语言一样使用预处理器。

首先,Java语言自身就有良好的分离编译的支持,每个源文件(*.java)就是一个编译单元(compilation unit);有依赖关系的源文件的编译,可以将相关的源文件一起交给编译器以便提供足够的符号信息,也可以单独编译其中一部分源码生成出Class文件,然后将这些Class文件交给编译器为剩下的源码的编译提供符号信息。因此,Java不需要通过预处理器来解决源文件间的引用、包含。

其次,Java语言通过if语句实现了条件编译,不像C语言需要使用预处理器指令(preprocessor directives)来实现条件编译。

第三,Java语言鼓励使用统一的语法,通过类、接口、方法等手段实现抽象,而不鼓励在源码中使用别的简写形式。因而Java语言没有实现类似C语言的宏,也就不需要相应的预处理。

============================================================

こんな解答しか出さなくてごめんね…`(°д°)′
  • 大小: 32.6 KB
分享到:
评论
3 楼 RednaxelaFX 2011-01-10  
lwwin 写道
为何问题日文?= =?

因为朋友在做入学考试的习题吧,日本的
2 楼 lwwin 2011-01-10  
为何问题日文?= =?
1 楼 kyfxbl 2011-01-10  
我勒个去,哥们懂日文,懂编译,还乐于助人,真是一位神级选手,赞!

相关推荐

    软件工程简答题

    简答题: 复习题一 软件生存周期模型的概念理解,常见的模型有哪些?请简单介绍?各有什么特点? 答:软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。 典型的生命周期模型有: 1.瀑布模型;2.快速...

    机器人专业常见简答题.docx

    机器人系统设计分为哪三个阶段 机器人参数坐标系有哪些?各参数坐标系有何作用? 机器人常用的机身和臂部的配置型式有哪些? 机器人控制系统的基本单元有哪些? 常见的机器人外部传感器有哪些? 机器人视觉的硬件...

    计算机网络技术简答题复习材料.doc

    简答题 1.计算机采用层次结构的模型有什么好处? (1)各层之间相互独立 (2)各层都可以采用最合适的技术来实现,只要这层提供的接口保持不变,各层实现技 术的改变不影响其他层。 (3)整个系统被分解为若干个易于处理的...

    操作系统简答题试题及答案.doc

    1. I/O软件一般分为哪几个层次? 从硬件层到用户层分为中断处理程序;设备驱动程序;与设备无关的I/O软件;用户 空间的I/O软件等4层。 2. 操作系统有哪些基本类型? 基本的操作系统类型有三种:多道批处理操作系统,...

    操作系统简答题.docx

    作业调度:从一批后备作业中选择一个或几个作业,给它们分配资源,建立进程,挂入就绪队列。执行完后,回收资源。 进程调度:从就绪进程队列中根据某个策略选取一个进程,使之占用CPU。 交换调度:按照给定的原则和...

    计算机简答题.docx

    计算机简答题全文共2页,当前为第1页。计算机简答题全文共2页,当前为第1页。 1. 简述计算机的发展过程以及各阶段所采用的元器件和主要特点、作用。 计算机简答题全文共2页,当前为第1页。 计算机简答题全文共2页,...

    计算机网络安全简答题参考答案.doc

    答:攻击技术主要包括以下几个方面。 (1)网络监听:自己不主动去攻击别人,而是在计算机上设置一个程序去监听目标计算 机与其他计算机通信的数据。 (2)网络扫描:利用程序去扫描目标计算机开放的端口等,目的是...

    新版计算机应用基础简答题(附答案).doc

    计算机应用基础简答题 1. 什么是操作系统?操作系统的作用是什么? 答:操作系统在计算机结构中处于硬件裸机与软件系统之间的层次上,它不仅管理位于 内层的硬件资源,而且管理和协调外层各种软件资源,为用户提供一...

    《计算机应用基础》第一章简答题.docx

    《计算机应用基础》第一章简答题全文共2页,当前为第1页。《计算机应用基础》第一章简答题全文共2页,当前为第1页。《计算机应用基础》第一章简答题全文共2页,当前为第1页。《计算机应用基础》第一章简答题全文共2...

    网络安全简答题1.docx

    网络安全简答题 1、中间人攻击? 2、有哪几种访问控制策略? 3、缓冲区溢出攻击的原理是什么? 4、云安全的理解 5、访问控制包括哪几个层次? 6、DDOS是什么?有哪些?CC攻击是什么?区别是. 7、land攻击是什么? 8...

    湖北高职统考计算机全部简答题

    近几年概括总结的高职统考计算机用的简答题共有100多个。是学生高职统考必备的教学资料。

    大数据 虚拟机 Linux VM复习题库:题库包括了60题选择题、10题填空题、10题判断题、2题简答题,助你度过期末复习

    大数据 虚拟机 Linux VM复习题库:题库包括了60题选择题、10题填空题、10题判断题、2题简答题,助你度过期末复习。1、数据仓库与数据库系统有什么关系?3. Hive 分区表的作用?静态分区和动态分区的区别是什么?5.列举 ...

    STM32试题及答案-包含了一些关于STM32微控制器的选择题、判断题、填空题、简答题和编程应用题.md

    这份文档包含了一些关于STM32微控制器的选择题、判断题、填空题、简答题和编程应用题。主要内容涉及以下几个方面: 1. Cortex-M3内核的架构和特性 2. STM32芯片的基本结构和外设资源 3. GPIO接口的配置和操作 4. ...

    单片机简答题1.doc

    简答题 1、简述借用定时/计数器溢出中断作为外部中断的具体方法? 2、简述8051片内RAM的空间地址分配。 3、MCS- 51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突,为什 么? 4、简述直接位...

    企业文化问答题

    企业文化的几个简答题,如果你选修了这门课程,那你的期末考试作业题很有可能在这里找得到答案哟!!!

    3操作系统简答题.doc

    操作系统简答题 习题1 1。计算机系统的资源可分成哪几类?试举例说明 软件资源:系统软件、支撑软件、应用软件 硬件资源:CPU、主存、I/O控制系统、外围设备 2.什么是操作系统?操作系统在计算机系统中的主要作用是...

    1操作系统简答题.doc

    简答题. 1. 什么是计算机的操作系统?操作系统的作用是什么? 答:一般认为,操作系统是管理计算机系统资源、控制程序执行、改善人机界面 和为应用软件提供支持的一种系统软件。 作用:(1)管理计算机系统资源。(2...

    网络安全技术简答题.doc

    本资料为word版本,可以直接编辑和打印,感谢您的下载 网络安全技术简答题 地点:__________________ 时间:__________________ 说明:本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅 供...

    计算机应用基础简答题.doc

    计算机应用基础简答题 第一章 一、存储器为什么要分外存储器和内存储器?两者各有什么特点?Cache的作用是什么? 答:存储器是用来保存程序、数据、运算的中间结果及最后结果的记忆装置。内存中存 放将要执行的指令...

    单片机简答题讲解.doc

    1.MCS51的中断系统有几个中断源?几个中断优先级?中断优先级是如何控制的? 在出现同级中断申请时,CPU按什么顺序响应(按由高级到低级的顺序写出各个中断源) ?各个中断源的入口地址是多少? 答:MCS51单片机有5...

Global site tag (gtag.js) - Google Analytics