发布网友 发布时间:2022-04-22 02:18
共2个回答
热心网友 时间:2024-02-07 02:21
哦,这个问也是你问的呀,我在下面那个问回答了你,但你这里问的这个问有点意思,程序的编译是系统软件来实现的,高级语言写的程序不像低级语言那样,高级语言只需要调用系统实现的功能就行了,而它调用的这部是不会同程序一起写入同一个文件的,如果写入了,谁也保证不了在其它系统中能兼容,程序是不自带翻译器的,它们都是机器码,可直接远行(除了如JAVA这种程序它不是机器码,是远行在一种叫“虚拟机”中的程序,能过“虚拟机”把JAVA代码解释成机器码,没有了“虚拟机”它也不叫程序)。
好了,差不多了,成功能的(我是学JAVA的,在我写的JAVA程序中中,功能都是调用系统函数来实看还有什么不明白的?如果我回答还可以的话把这分也给我吧,谢谢了。。。。
"lishitao0915"好像有点错吧,汇编不是机器语言,计算机只能识别机器语言,在说讲点吧,计算机内所有信息都是以二进制存储的,计算机是怎么识别数据是指令还是数据的?在CPU内有个CS段寄存器,假如内存中有一段程序和一段数据,我们如果把程序段的首地址写入CS,CPU就会执行程序段,如果我们把数据段的首地址写入CS中CPU就会把数据段当做可执行段来看,当然结果可想而知当然会出错了。
在操作系统API中不可能出现CPU没有的指令,在程序中出现CPU不能识别的指令大多是在其它计算机内用低级程序编译好的程序拷贝在本地计算机内的,高级程序开发是调用系统API来完现的),,,,很少自己去直接做的,所以兼容性高
热心网友 时间:2024-02-07 02:21
汇编语言不就是机器语言么?汇编语言跟机器语言是同等的、需要编译是因为写汇编语言的格式是文本的不是2进制的、所以需要编译成2进制的、计算机才可以识别、
机器不管编译语言、机器只是管执行指令、语言是靠指令建立起来的、《编译原理》有这样的书、讲是如何编译高级语言的、
电脑准许自带编译、但是没有人会这么做、可以用汇编写个片子、放到计算机上、因为高级语言不属于机器范围、增加高级语言的硬件编译器对任何一个语言都是不公平的、而且也是没有必要的、因为CPU完全可以编译、只是如果机器自带编译属于硬件、速度会比CPU编译的快
UNIX和LINUX系统提供自带的编译程序、
编译器属于一个软件、编译器差不多分为三种、解释型、编译型、虚拟机、
解释VB
编译C
虚拟JAVA