六星云課堂:單片機(jī)C語言和普通的C語言有什么區(qū)別?
很多想入門單片機(jī)的同學(xué)都會先學(xué)習(xí)C語言再入門單片機(jī),但是學(xué)著學(xué)著發(fā)現(xiàn)明明同樣都是C語言,為什么單片機(jī)C語言和我當(dāng)初學(xué)的C語言有差異呢?
單片機(jī)c語言相對于普通C語言增加了一些基本的指令,還有變量的賦值是16進(jìn)制,當(dāng)然單片機(jī)c語言只牽涉到普通c語言非?;A(chǔ)部分。

主要的差異具體體現(xiàn)在:
1、單片機(jī)中C的語法一般都對 ANSI C有些擴(kuò)展,及一些特殊寫法如C51擴(kuò)展的 data xdata bit sbit一類的,還有一些中斷程序?qū)懛?void int() interrput 1一類的。
2、C是一門高級語言,它需要經(jīng)過編譯成匯編語言機(jī)器才能讀懂,所以每個平臺的編譯器編譯成對應(yīng)平臺匯編的程序,每個平臺的匯編不一樣,當(dāng)然編譯器也不一樣。 DOS上的TC2 TC3 WINDOWS上的VC 8051的C51都有自已的編譯器。具體區(qū)別是由編譯器決的,只能參考對應(yīng)的編譯手冊,即使同種平臺不同的編譯器對C的擴(kuò)展也有不同。
3、單片機(jī)c語言編程是基于C語言的單片機(jī)編程。單片機(jī)的C語言采用C51編譯器(簡稱C51)。由C51產(chǎn)生的目標(biāo)代碼短、運(yùn)行速度高、存儲空間小、符合C語言的ANSI標(biāo)準(zhǔn),生成的代碼遵循Intel目標(biāo)文件格式,而且可與A51匯編語言PL/M51語言目標(biāo)代碼混合使用。
4、C只是一種高級語言。它除具有一般高級語言的功能特性外,它可以很好的操作底層的硬件接口。在C語言的基礎(chǔ)上,如果你把一些單片機(jī)的端口或特殊功能寄存器加于定義,使用的時候會更加方便,寫語句的時候,直接直觀的編寫。這樣就差不多是單片機(jī)C語言。
C語言是我們?nèi)腴T嵌入式單片機(jī)所學(xué)習(xí)的一門語言,也是IOS開發(fā)、單片機(jī)開發(fā)等應(yīng)用上具有重要應(yīng)用的一門語言,雖然C語言與單片機(jī)C語言、C++、C#等有或小或大的差異,但他們的編譯機(jī)理、表達(dá)形式基本都是大同小異的!
以上就是本次分享的全部內(nèi)容,想學(xué)習(xí)更多C語言技巧,歡迎持續(xù)關(guān)注六星云課堂!