C語言和單片機(jī)C語言究竟有何差異?
本周直播計(jì)劃有???? :
直播時(shí)間:周一到周五15:00—17:00
? ? ? ? 另:今晚19:00—21:00也有直播?。?!
直播地址:B站主頁直播間:直播間地址,某音搜索“信盈達(dá)”賬號(hào)(有兩個(gè)號(hào),分享不一樣的知識(shí)直播);
繼續(xù)開啟知識(shí)直播專場(chǎng)~~還是趕緊行動(dòng)起來吧!??!? ?
(沒時(shí)間觀看直播的朋友,可私信:直播回放,會(huì)把回放鏈接給到你的喲~)

很多想入門單片機(jī)的同學(xué)都會(huì)先學(xué)習(xí)C語言再入門單片機(jī),但是學(xué)著學(xué)著發(fā)現(xiàn)明明同樣都是C語言,為什么單片機(jī)C語言和我當(dāng)初學(xué)的C語言有差異呢?
單片機(jī)c語言相對(duì)于普通C語言增加了一些基本的指令,還有變量的賦值是16進(jìn)制,當(dāng)然單片機(jī)c語言只牽涉到普通c語言非?;A(chǔ)部分。
主要的差異具體體現(xiàn)在:
1、單片機(jī)中C的語法一般都對(duì) ANSI C有些擴(kuò)展,及一些特殊寫法如C51擴(kuò)展的 data xdata bit sbit一類的,還有一些中斷程序?qū)懛?void int() interrput 1一類的。
2、單片機(jī)c語言編程是基于C語言的單片機(jī)編程。單片機(jī)的C語言采用C51編譯器(簡(jiǎn)稱C51)。
由C51產(chǎn)生的目標(biāo)代碼短、運(yùn)行速度高、存儲(chǔ)空間小、符合C語言的ANSI標(biāo)準(zhǔn),生成的代碼遵循Intel目標(biāo)文件格式,而且可與A51匯編語言PL/M51語言目標(biāo)代碼混合使用。
3、C是一門高級(jí)語言,它需要經(jīng)過編譯成匯編語言機(jī)器才能讀懂,所以每個(gè)平臺(tái)的編譯器編譯成對(duì)應(yīng)平臺(tái)匯編的程序,每個(gè)平臺(tái)的匯編不一樣,當(dāng)然編譯器也不一樣。
DOS上的TC2 TC3 WINDOWS上的VC 8051的C51都有自已的編譯器。
具體區(qū)別是由編譯器決的,只能參考對(duì)應(yīng)的編譯手冊(cè),即使同種平臺(tái)不同的編譯器對(duì)C的擴(kuò)展也有不同。
4、C只是一種高級(jí)語言。它除具有一般高級(jí)語言的功能特性外,它可以很好的操作底層的硬件接口。
在C語言的基礎(chǔ)上,如果你把一些單片機(jī)的端口或特殊功能寄存器加于定義,使用的時(shí)候會(huì)更加方便,寫語句的時(shí)候,直接直觀的編寫。這樣就差不多是單片機(jī)C語言。
私信回復(fù)“我要入門”,可領(lǐng)取C語言學(xué)習(xí)資料!
C語言是我們?nèi)腴T嵌入式單片機(jī)所學(xué)習(xí)的一門語言,也是IOS開發(fā)、單片機(jī)開發(fā)等應(yīng)用上具有重要應(yīng)用的一門語言,雖然C語言與單片機(jī)C語言、C++、C#等有或小或大的差異,但他們的編譯機(jī)理、表達(dá)形式基本都是大同小異的!