高级语言?编译程序?解释程序?目标代码?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/strivenoend/article/details/83095936

编译程序?解释程序?

编译程序解释程序啥作用?将高级语言翻译成可以目标代码,使得目标代码可以在机器上运行

高级语言?
作为一门高级语言,javascript肯定不能是在电脑上直接运行的,肯定有javascript这门高级语言的编译/解释程序,编译/解释程序负责将高级语言转换为对应平台的目标代码,从而让高级语言可以在这个平台上运行
javascript是一门解释性语言,他的解释程序比较特殊是浏览器,浏览器作为javascript的解释程序,负责将javascript转换成对应平台所支持的目标代码,从而javascript能在平台上运行
(1)纵观高级语言几乎都是经过这种泛泛的编译/解释程序才在平台上运行的
拿c++/c这门高级语言举例,这门高级语言是一门编译性语言,如果想在平台上运行,只需要对应平台上这门语言的编译程序即可,(gcc/g++)
拿javascript这门高级语言举例,这门高级语言是一门解释性语言,如果想在平台上运行,只需要对应平台上这门语言的解释程序即可(浏览器)
拿java这门高级语言举例,这门高级语言是一门先编译后解释的语言,如果想在平台上运行,只需要对应平台上这门语言的解释和编译程序即可(java和javac)(java之所以是跨平台的,那是因为他源代码编译之后的中间代码是一种与平台无关的字节码文件,java在各种平台上都有对应的解释程序能够将java的字节码文件解释成可以运行在对应平台上的目标代码)
(2)那么编译程序和解释程序最终都是把高级语言转换成可以直接运行在对应平台上的目标代码,这两个程序有什么区别吗?
编译程序快,所以c/c++比较快
解释程序慢,所以java好慢的哦,

猜你喜欢

转载自blog.csdn.net/strivenoend/article/details/83095936