解析:
由高级语言编写的程序称为“源程序”。
由二进制代码表示的程序称为“目标程序”。
由汇编语言编写的程序称为“汇编程序”。
可执行程序是可在 *** 作系统存储空间中浮动定位的二进制可执行程序。
它可以加载到内存中,由 *** 作系统加载并执行。
对于计算机本身来说,它只能接收和处理由0到1的代码构成的二进制指令和数据。
即,计算机能识别的程序是“目标程序”。
而计算可以直接执行的程序是可执行程序,即扩展名为exe的文件。
扩展资料:
程序的运行
为了使计算机程序得以运行,计算机需要加载代码,同时也要加载数据。从计算机的底层来说,
这是由高级语言(例如Java,C/C++,C#等)代码转译成机器语言而被CPU所理解,进行加载。
如果您在一个符合大多数的计算机上, *** 作系统例如Windows、Linux等,加载并执行很多的程
序,在这种情况下,每一个程序是一个单独的映射,并不是计算机上的所有可执行程序。
它是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或
者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。同一计算机程序的
源程序和目标程序为同一作品。
参考资料:
不同版本的c语言可能有所不同,以下以TC20为例:
一、IDE环境中生成
1)双击TC文件夹下的TCEXE启动TC20。
2)按F3,选择打开源程序。(1c)
3)按F9即可生成打开文件名的可执行文件。(如开始的是1c,则生成1exe)
二、DOS或控制台下生成:
1)用cmd打开控制台窗口,并进制TC目录。
2)在控制台命令行输入:tcc
1(回车),则生成1obj
3)再在控制台命令行输入:tlink
1(回车),则生成1exe
通过下面这条命令,mainc和swapc 就产生了一个可执行二进制文件swap
》gcc mianc swapc -o swap
那么这条命令是么样把源程序变成可执行程序的呢?
步骤如下:
1、驱动程序首先调用C预处理器(CPP)把源文件翻译成一个ASCII中间文件miani,预处理器会把#include所包含的内容都插入到声明的位置,并且做宏替换,把mainc 文件的第3行 的SIZE替换成2(注意这里只是做简单的文本替换)。
2、接下来驱动程序的C编译器将maini翻译成汇编语言程序mains
3、然后驱动程序的汇编器将汇编语言程序mains 翻译成可重定位的二进制文件maino
4、最后运行链接器将maino 与swapo 以及一些必要的系统目标文件(比如你将调用的printf函数就是printfo)连接起来变成一个可执行的二进制文件。
哥们,这么理解是对的,不过感觉有点表面。
建议看看计算机一些原理,像你说的这个问题我会想到,计算机最终只能识别二进制码,
所以其实不管我们一切啥语言,最终都是通过编译器编译成二进制码,计算机才能识别
而去运行,而C语言编写的程序,肯定是要经过一系列的编译,链接,生成可执行的文件。
在windows系统中,执行文件都是exe为扩展名的。不过在linux系统中就不一样了,linux
系统并不区分扩展名,所以也就无所谓什么exe之类的文件,只要知道最终生成可执行的
二进制文件就可以了。
1、预处理
在这一阶段,源码中的所有预处理语句得到处理,例如:#include语句所包含的文件内容替换掉语句本身,所有已定义的宏被展开。
根据#ifdef,#if等语句的条件是否成立取舍相应的部分,预处理之后源码中不再包含任何预处理语句。
GCC预处理阶段可以生成i的文件,通过选项-E可以使编译器在预处理结束时就停止编译。例如:gcc -E -o helloi helloc
2、编译
这一阶段,编译器对源码进行词法分析、语法分析、优化等 *** 作,最后生成汇编代码。这是整个过程中最重要的一步,因此也常把整个过程称为编译。
可以通过选项-S使GCC在进行完编译后停止,生成s的汇编程序。例如:gcc -S -o hellos helloc
3、汇编
这一阶段使用汇编器对汇编代码进行处理,生成机器语言代码,保存在后缀为o的目标文件中。
当程序由多个代码文件构成时,每个文件都要先完成汇编工作,生成o目标文件后,才能进入下一步的链接工作。
目标文件已经是最终程序的某一部分了,只是在链接之前还不能执行。可以通过-c选项生成目标文件:gcc -c -o helloo helloc
4、链接
经过汇编以后的机器代码还不能直接运行。为了使 *** 作系统能够正确加载可执行文件,文件中必须包含固定格式的信息头,还必须与系统提供的启动代码链接起来才能正常运行,这些工作都是由链接器来完成的。gcc -o hello helloc
5、运行:执行EXE文件,得到运行结果。
以上就是关于计算机能直接执行的程序是( )。 A.源程序 B.目标程序 C.汇编程序 D.可执行程序全部的内容,包括:计算机能直接执行的程序是( )。 A.源程序 B.目标程序 C.汇编程序 D.可执行程序、将c语言编写的源程序转换成可执行程序要用什么程序处理、源程序文件是怎样变成可执行的二进制文件的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)