本篇文章给大家谈谈c语言源程序经编译,以及C语言源程序经编译形成的二进制代码可以直接运行对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
1、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( )。2、一个C语言源程序经过编译后就可以执行了 这句话对吗?3、C语言源程序文件经过编译连接之后生成一个后缀为_____的文件。4、c语言中的源程序必须经过编译连接生成可执行程序才能运行,这句话是对不对?
用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( )。
答案是错误的,系统将生成目标文件,选B。因为C语言中编译程序是把一个源程序翻译成目标程序的工作过程。这一过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。在语法分析过程中发现有语法错误,给出提示信息,没有错误则生成目标文件。
C语言通过汇编把汇编语言代码翻译成目标机器指令。对于被翻译系统处理的每一个C语言源程序,都将最终经过这一处理而得到相应的目标文件。目标文件中所存放的也就是与源程序等效的目标的机器语言代码。
扩展资料
C语言的源文件成为目标文件的过程:
1、源文件经过预处理,生成.i的文件 (预处理器cpp)。
2、将预处理后的文件转换成汇编语言,生成文件.s文件。
3、从汇编变为目标代码(机器代码)生成.o(.obj)的文件 (汇编器as)。
4、连接目标代码,生成可执行程序 (连接器ld)。
参考资料:百度百科—C语言
一个C语言源程序经过编译后就可以执行了 这句话对吗?
对的,C语言是先编译后执行,一般只要不出错误,编译完就可以执行力。有时候还要考虑是否跨平台。
C语言源程序文件经过编译连接之后生成一个后缀为_____的文件。
选择C.”.exe“
解析如下:
文件编辑的时候源码是CPP扩展名,C++头文件是.H扩展名。编译源程序文件转换成.obj扩展名的目标文件。链接将一个或多个目标文件与程序用到的库文件链拉起来,形成一个可以在操作系统直接运行的执行程序.exe。
也就是整个过程分为:预编译,对源代码的宏进行替换,生成中间文件(文本,默认不保留)》》翻译为汇编代码(文本,默认不保留)》》由汇编器生成二进制文件(.obj)》》连接为可执行文件(.exe)。
扩展资料
一、编译
目标代码生成是编译的最后一个阶段。目标代码生成器把语法分析后或优化后的中间代码变换成目标代码。目标代码有三种形式:
① 可以立即执行的机器语言代码,所有地址都重定位;
② 待装配的机器语言模块,当需要执行时,由连接装入程序把它们和某些运行程序连接起来,转换成能执行的机器语言代码;
③ 汇编语言代码,须经过汇编程序汇编后,成为可执行的机器语言代码。
目标代码生成阶段应考虑直接影响到目标代码速度的三个问题:一是如何生成较短的目标代码;二是如何充分利用计算机中的寄存器,减少目标代码访问存储单元的次数;三是如何充分利用计算机指令系统的特点,以提高目标代码的质量。
二、高级程序设计语言C
程序的编译
编译是指将编辑好的源文件翻译成二进制目标代码的过程。编译过程是由编译程序(编译器)完成的。不同操作系统下的各种编译器的使用命令不完全相同,使用时应注意计算机环境。编译时,编译器首先要对源程序中的每一个语句检查语法错误,当发现错误时,就在屏幕上显示错误的位置和错误类型的信息。
此时,要再次调用编辑器进行查错修改。然后,再进行编译,直至排除所有语法和语义错误。正确的源程序文件经过编译后在磁盘上生成目标文件(后缀名为.obj的文件)。
程序的连接
编译后产生的目标文件是可重定位的程序模块,不能直接运行。连接就是把目标文件和其他必需的目标程序模块(这些目标程序模块是分别编译而生成的目标文件)以及系统提供的标准库函数连接在一起,生成可以运行的可执行文件的过程。连接过程使用C语言提供的连接程序(连接器)完成,生成的可执行文件(后缀名为.exe的文件)存到磁盘中。
程序的运行
程序经过连接生成可执行文件后,就可以在操作系统控制下运行.若执行程序后达到预期目的,则C程序的开发工作到此完成.否则,要进一步检查修改源程序,重复编辑-编译-连接-运行的过程,直到取得预期结果为止。
参考资料来源:百度百科:编译
百度百科:高级程序设计语言C
c语言中的源程序必须经过编译连接生成可执行程序才能运行,这句话是对不对?
哥们,这么理解是对的,不过感觉有点表面。
建议看看计算机一些原理,像你说的这个问题我会想到,计算机最终只能识别二进制码,
所以其实不管我们一切啥语言,最终都是通过编译器编译成二进制码,计算机才能识别
而去运行,而c语言编写的程序,肯定是要经过一系列的编译,链接,生成可执行的文件。
在windows系统中,执行文件都是.exe为扩展名的。不过在linux系统中就不一样了,linux
系统并不区分扩展名,所以也就无所谓什么.exe之类的文件,只要知道最终生成可执行的
二进制文件就可以了。
c语言源程序经编译的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于C语言源程序经编译形成的二进制代码可以直接运行、c语言源程序经编译的信息别忘了在本站进行查找喔。