为什么js不能直接编译成机器码
① Android 程序为什么不直接编译成机器码
编译单元无法确定要访问的逻辑地址,也就无法转为机器码,
必须由链接过程分配地址。 先编译后链接,
应该是易于编译器的实现和扩展并且能够增加灵活性和多文件项目的编译效率
② javaScript到底是解释型语言还是编译型语言
编译型语言是把源代码先编译为机器码(也就是所谓的可执行程序,比如windows系统的exe文件),运行的时候电脑只需直接把机器码交给CPU执行即可。编译型语言的特点是运行速度快,效率高。缺点是可移植性差。
解析型语言则是直接以源代码的形式出现,运行的时候再实时解析为机器码并执行。所有的脚本语言(当然也包括JavaScript)都是解析型语言。这类语言有个最大特点就是它们都不能独立存在,必须寄生在其他程序(比如浏览器)内。
③ javascript语言被计算机识别的过程,计算机新语言是怎样诞生并被推广的
计算机只识别一种语言,那就是机器码,那些形形色色的高级语言,都是给人使用的,并不是给电脑看的!这点一定要搞清楚!因为人不可能直接输入机器码,所以就需要通过高级语言写好代码,然后通过编译器转为机器码(编译型语言如C、C++、VB等等采用的是这种方式),或者用软件实时解析为机器码(脚本类语言如JavaScript就是这种方式)。
因此,所谓新语言的诞生,完全是为了方便人类更方便高效地编制程序,但是如果编的程序没有编译或解析为机器码,电脑是不可能认识它的,更谈不上理解了。
最接近机器码的语言应该是汇编语言,但它仍然不是计算机能够直接识别的语言哦(其实“计算机识别的语言”这种提法也是有问题的,准确的说法应该是“计算机识别的指令”)
再次强调:程序设计语言是供程序员使用的,并不是给电脑看(或者说识别)的,程序员利用程序设计语言写出来的那些整齐的、漂亮的程序代码,离实际可供计算机执行的指令代码还差着十万八千里呢!所谓语言的语法、特征等等这些东西,与计算机本身也不存在半毛钱关系!
要想知道机器码什么样,用一个可进行16进制编辑的编辑器(UltraEdit、EditPlus等)打开一个EXE可执行文件就知道了。而且这些代码在内存和硬盘中是以二进制方式储存的,这也就是为什么说计算机只识别0和1这两个数字的原因了,这不是调侃,而是事实!
④ 请问高级语言为什么不直接编译成机器码,而编译成汇编代码
2.Que:? ACK:1)其中有一个好处是方便优化,因为,编译器也是工具,也是机器,毕竟是机器生成的程序,不可以非常 完美的,而汇编是机器指令的助记符,一个汇编指令就对应一条机器指令(特殊指令除外)调试起来肯定会比 机器指令方便的方便,这样优化起来也方便。 2)高级语言只需要编译成汇编代码就可以了,汇编代码到机器码的转换是由硬件实现即可,有必要用软件实 现这样分层可以有效地减弱编译器编写的复杂性,提高了效率.就像网络通讯的实现需要分成很多层一样,主要 目的就是为了从人脑可分析的粒度来减弱复杂性. 3)如果把高级语言的源代码直接编译成机器码的话,那要做高级语言到机器码之间的映射,如果这样做的 话,每个写编译器的都必须熟练机器码。这个不是在做重复劳动么。
⑤ gcc编译器为什么不直接编译成机器代码
编译单元无法确定要访问的逻辑地址,也就无法转为机器码,必须由链接过程分配地址。
先编译后链接,应该是易于编译器的实现和扩展并且能够增加灵活性和多文件项目的编译效率。
⑥ java语言为什么使用的java虚拟机而不是直接翻译成机器代码(即和C语言一样)
目前常用的系统或者平台其实没有几个,这种跨平台性,在我看来真的是浪费了。C/C++可以高效率运行是因为直接编译成机器码,按说Java语法的也可以的啊,只是它选择了虚拟机来搞快平台,用喜欢的语法,翻译成机器码,岂不是和C/C++一样的效率了。
⑦ JavaScript问题
两种语言在其浏览器中所执行的方式不一样。
Java的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须具有相应平台上的仿真器或解释器,它可以通过编译器或解释器实现独立于某个特定的平台编译代码的束缚。
JavaScript是一种解释性编程语言,其源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户编由浏览器解释执行。
⑧ 请高手解释下为什么Javascript是一种解释性语言,不需要进行编译和构建.在看Jquery的书,有句话是这样说的
解释执行主要是针对编译执行编译执行来说的,C语言,java等静态语言,写好代码后需要经过编译器编译,将源代码编译成别的代码,比如机器码,汇编等,解释执行则不需要编译过程,直接由解释器解析并执行代码。
javascript就属于解释执行,所以说他是一种解释性语言。
但是,随着技术的发展,越来越多的javascript引擎为了提高性能,也会对javascript进行一些编译,所以也很难清楚的界定javascript到底是解释执行还是编译执行。所以也没必要去深究,知道就行。
⑨ javascript是什么该如何写
JS(也就是javascript)是一种语言,就像C语言一样,简单的说就是用来实现网页的动态效果的一种语言啦。
HTML你一定知道吧。
比如说:HTML加CSS可以让能让一个图片在浏览器上显示,但是如果要让这张图片在浏览器上来回的动,那多半要用到JS。
当然,JS的功能不只是能让图片在浏览器上动啦,还有比如什么改变文字大小啦、显示时间啦都能用javascript.
总之,现在javascript几乎在哪能一个网站上都能看到。有必要学它一下哟!!!
至于怎么写,你学一下就了解了,就好像下面的形式:
<script>
function myFn()
{
alert('你好呀,学JS吧');
}
</script>
这就是简单和JS了。
不知道这么说回答了你的问题没有!??
⑩ 操作系统是和CPU打交道的,那么编译器写的程序为什么还需要编译。操作系统不能直接翻译成机器码么
操作系统同cpu打交道用的是机器码,但是对我们来说他用的是自然语言即所说的高级语言,编译器是的程序就是我们用高级语言写的,要执行的时候还需要把他翻译回机器码,这个过程就是编译。由于操作系统自身不带有这种翻译的功能,因此不能直接翻译成机器码,而且高级语言也分好多种,每种语言对应的翻译方式也不一样。