用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将?
6、用C语言编写的源文件经过编译,若没有产生编译错误,则系统将()。A.生成可执行目标文件B.生成目标文件C.输出运行结果D.自动保存源文件...
6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( )。
A. 生成可执行目标文件 B. 生成目标文件
C. 输出运行结果 D. 自动保存源文件 展开
A. 生成可执行目标文件 B. 生成目标文件
C. 输出运行结果 D. 自动保存源文件 展开
3个回答
展开全部
本题正确答案应为B选项。
C选项为错误答案。
原因如下:
1、编译程序仅仅是将源语言编写的源程序转换为目标程序。
2、编译是把高级语言变成计算机可以识别的2进制语言。
3、编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。
显然,编译的过程中并没有运行程序输出结果的步骤,编译的结果是生成目标文件(代码)。
因此C选项为错误答案,B选项为正确答案。
编译原理图如下:
扩展资料:
目标代码(目标文件)生成是编译的最后一个阶段。目标代码生成器把语法分析后或优化后的中间代码变换成目标代码。目标代码有三种形式:
1、 可以立即执行的机器语言代码,所有地址都重定位;
2、待装配的机器语言模块,当需要执行时,由连接装入程序把它们和某些运行程序连接起来,转换成能执行的机器语言代码;
3、汇编语言代码,须经过汇编程序汇编后,成为可执行的机器语言代码。
目标代码生成阶段应考虑直接影响到目标代码速度的三个问题:一是如何生成较短的目标代码;二是如何充分利用计算机中的寄存器,减少目标代码访问存储单元的次数;三是如何充分利用计算机指令系统的特点,以提高目标代码的质量。
参考资料:
展开全部
B,先生成目标文件。之后的工作不再由编译器完成,而是交给linker执行link操作,最后才能生成可执行文件。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-06-12
展开全部
系统默认的C 语言源程序文件的扩展名是 .c ,经过编译后生成的目标文件的扩展名是 .obj ,经过连接后生成的可执行文件的扩展名是 .exe 。
参考资料: 我的课本
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询