卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

同樣是高級(jí)語言為什么C語言可以編寫51單片機(jī)程序,JAVA卻不能編寫?

網(wǎng)友解答: 根據(jù)我所知道的回答一下這個(gè)問題。在學(xué)生時(shí)代,我用過C語言編程也用過JAVA語言編程,工作之后都還給老師了,但是基本的概念還是知道一些。C語言和JAVA語言同樣是高級(jí)語言,但是

網(wǎng)友解答:

根據(jù)我所知道的回答一下這個(gè)問題。

在學(xué)生時(shí)代,我用過C語言編程也用過JAVA語言編程,工作之后都還給老師了,但是基本的概念還是知道一些。

C語言和JAVA語言同樣是高級(jí)語言,但是還是不同的,C語言要更低級(jí)一些,對(duì)硬件的控制更加直接,JAVA語言的運(yùn)行需要使用JAVA虛擬機(jī)。下面分別對(duì)C語言和JAVA語言說一說。

C語言

C語言是我大學(xué)時(shí)的必修課,記得那時(shí)還是用的譚浩強(qiáng)老師的C語言教材,現(xiàn)在回想起來歷歷在目;

C語言更加接近機(jī)器語言,可以使用指針等直接對(duì)內(nèi)存的地址進(jìn)行操作;

C語言是面向過程的編程語言,說的直白點(diǎn)兒,使用C語言編程,腦海中首先得有一個(gè)流程圖,第一步干什么、第二步干什么,直到把這個(gè)事情做完;

C語言需要使用編譯器編譯成機(jī)器語言,然后就可以運(yùn)行了,不需要運(yùn)行在虛擬機(jī)上,JAVA是運(yùn)行在虛擬機(jī)上的,所以運(yùn)行速率有點(diǎn)兒慢,但是跨平臺(tái)效果好。

JAVA語言

JAVA是面向?qū)ο蟮母呒?jí)語言,說直白點(diǎn)兒就是,編程時(shí),首先要把所有的東西抽象成類,這個(gè)類包含了各種屬性和方法,然后封裝起來,更加接近人類世界;

JAVA的運(yùn)行需要解釋器,轉(zhuǎn)換成字節(jié)碼,然后在JAVA虛擬機(jī)上運(yùn)行,相比與C語言是不需要的虛擬機(jī)的,編譯成機(jī)器語言,直接在硬件上運(yùn)行。

單片機(jī)為什么用C語言而不用JAVA

單片機(jī)的性能一般不是很好,CPU、內(nèi)存可以說是“寸土寸金”,要省著點(diǎn)而用;

假如單片機(jī)使用JAVA語言,那么首先需要運(yùn)行一個(gè)JAVA虛擬機(jī),性能不是很好的單片機(jī)是“跑”不起來的;

單片機(jī)使用C語言就不一樣了,C語言編譯后直接轉(zhuǎn)換成機(jī)器語言,直接對(duì)硬件進(jìn)行控制,效率要高很多,而且很節(jié)省CPU和內(nèi)存空間。


對(duì)于C語言和JAVA語言的使用區(qū)別,大家有什么看法呢,歡迎在評(píng)論區(qū),留言討論。

如需更多幫助,請(qǐng)私信關(guān)注,謝謝。

網(wǎng)友解答:

這兩種語言的運(yùn)行機(jī)制不一樣。

C語言是直接編譯成二進(jìn)制格式的機(jī)器可運(yùn)行代碼。比如在windows平臺(tái)上的exe文件,雙擊可直接運(yùn)行。

而JAVA不同,JAVA是運(yùn)行在各種版本的JAVA虛擬機(jī)之上的。JAVA虛擬機(jī),可以理解為運(yùn)行在各個(gè)平臺(tái)之上的可執(zhí)行文件,這個(gè)程序負(fù)責(zé)給windows等各個(gè)平臺(tái)翻譯編譯后的JAVA語言。

舉個(gè)例子,C語言就好比你精通各國語言,直接和老外交流,而JAVA則是帶個(gè)翻譯(JAVA虛擬機(jī))來和系統(tǒng)交流的。執(zhí)行效率肯定是C語言更高一些了。

51單片機(jī),機(jī)器運(yùn)行資源相對(duì)比較緊湊,在上面跑個(gè)JAVA虛擬機(jī)的話開銷有些大。另外,JAVA官方也沒有提供51平臺(tái)的虛擬機(jī)。

另外,C可以直接操作內(nèi)存,可以調(diào)用匯編指令,操作起來更加靈活。而JAVA受虛擬機(jī)功能限制,可完成的工作就比較局限了。

從JAVA語言誕生之日起,JAVA就是為了大規(guī)模開發(fā)應(yīng)運(yùn)而生的。C則擅長(zhǎng)直接和硬件打交道。所以,從各方面看,JAVA都不適合開發(fā)單片機(jī)程序。

標(biāo)簽: