关于编译和解释的说法
A. JAVA语言是解释型还是编译型语言
1.编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。
2.解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。
3.C/C++ 等都是编译型语言,而Java,C#等都是解释型语言。
4.虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间语言)。
B. 浠ヤ笅鍏充簬缂栬疟绋嫔簭镄勮存硶姝g‘镄勬槸锛 锛夈侫.缂栬疟绋嫔簭灞炰簬璁$畻链哄簲鐢ㄨ蒋浠讹纴镓链夌敤鎴烽兘闇瑕佺紪璇岖▼搴厂
銆愮瓟妗堛戯细C
C銆愯В鏋愩戠紪璇戠▼搴忓氨鏄鎶婇珮绾ц瑷鍙樻垚璁$畻链哄彲浠ヨ瘑鍒镄勪簩杩涘埗璇瑷锛屽嵆缂栬疟绋嫔簭瀹屾垚楂樼骇璇瑷绋嫔簭鍒颁绠绾ц瑷绋嫔簭镄勭瓑浠风炕璇戙
C. 编译执行和解释执行有什么区别
编译执行就像你买的《C Primer》中文版,译者全部翻译完(编写代码),拿到出版社去(编译器),编辑们校对没有发现错别字(编译),然后出版给你看,只要出版社(编译器)工作正常,那么就可以认为书的内容肯定没有错(可以正确执行);
解释执行就像你去听报告,老外一边讲(代码),同声传译(解释器)一边翻给你听(解释执行),如果哪一句老外讲错了(代码出错),同声传译才卡壳,但是前面已经翻译出去的,肯定是没啥问题(部分正常执行了);
这么说你理解了没有?编译执行效率高,但灵活性差(任何修改都要重编译),代码保密性好;解释执行效率低一点(这是以前的说法,现代解释器的效率也可以非常高),灵活性好,代码保密性差;
还有一种介于两者之间的执行方式,半编译执行,像大名鼎鼎的Java和C#等等,就是这种方式,是实现跨平台的优良解决方案。