- 相關(guān)推薦
c語(yǔ)言如何控制硬件
你們知道在C語(yǔ)言中如何控制計(jì)算機(jī)的硬件嗎?下面是小編精心整理的c語(yǔ)言如何控制硬件,僅供參考,大家一起來(lái)看看吧。
c語(yǔ)言如何控制硬件?
C語(yǔ)言是沒(méi)辦法控制硬件的
首先,C語(yǔ)言不能夠直接對(duì)硬件進(jìn)行操作。從本質(zhì)上來(lái)說(shuō),連匯編語(yǔ)言都不可以。只有機(jī)器語(yǔ)言能夠直接操作硬件。
其次,C語(yǔ)言要操作硬件是必須經(jīng)過(guò)一系列的編譯轉(zhuǎn)換。最終它會(huì)成為0101的機(jī)械碼,這個(gè)時(shí)候它根本不是我們所能夠理解的C語(yǔ)言了。
以GCC編譯器為例,這個(gè)可以分為四步。
第一步是預(yù)處理,包括語(yǔ)法檢查等工作。
gcc -P abc.c
第二步由源程序生產(chǎn)匯編語(yǔ)言代碼。
gcc -S abc.c
會(huì)生成abc.s文件,這個(gè)文件里就是匯編代碼。
第三步編譯器生成目標(biāo)代碼,一個(gè)源文件生成一個(gè)目標(biāo)代碼。
gcc -c abc.c
會(huì)生成abc.o
第四步連接器從目標(biāo)代碼生成可執(zhí)行文件。
gcc abc.o
最后,相對(duì)來(lái)說(shuō),C語(yǔ)言在高級(jí)語(yǔ)言當(dāng)中是最貼近物理層面的語(yǔ)言。它也被稱作高級(jí)語(yǔ)言里面的低級(jí)語(yǔ)言。因?yàn)樗芏喾矫娑挤浅YN近硬件。典型的就是指針,這是一種通過(guò)物理地址直接操作內(nèi)存的變量。
如果是電腦程序的話,譬如你在vc6.0里面c語(yǔ)言里面編寫一個(gè)程序,那么vc6里面的編譯器會(huì)把你的c語(yǔ)言語(yǔ)句按照對(duì)應(yīng)的關(guān)系翻譯成你計(jì)算機(jī)能識(shí)別的計(jì)算機(jī)語(yǔ)句,然后你電腦cpu會(huì)按照這些指令來(lái)控制你的硬盤,內(nèi)存讀寫之類的硬件操作。
如果是單片機(jī)之類的話,譬如你在keil里面用c語(yǔ)言編寫了一個(gè)單片機(jī)程序,那么keil的編譯器會(huì)把你的c語(yǔ)言程序編寫成匯編語(yǔ)言程序文件,然后把那個(gè)匯編程序文件燒到單片機(jī)芯片上就可以讓芯片按照指令工作了。
C語(yǔ)言優(yōu)缺點(diǎn)
1. 簡(jiǎn)潔緊湊、靈活方便
C語(yǔ)言一共只有32個(gè)關(guān)鍵字,9種控制語(yǔ)句,程序書寫形式自由,主要用小寫字母表示。它把高級(jí)語(yǔ)言的基本結(jié)構(gòu)和語(yǔ)句與低級(jí)語(yǔ)言的實(shí)用性結(jié)合起來(lái)。 C 語(yǔ)言可以像匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作,而這三者是計(jì)算機(jī)最基本的工作單元。
2. 運(yùn)算符豐富
C語(yǔ)言的運(yùn)算符包含的范圍很廣泛,共有34種運(yùn)算符。C語(yǔ)言把括號(hào)、賦值、強(qiáng)制類型轉(zhuǎn)換等都作為運(yùn)算符處理。從而使C語(yǔ)言的運(yùn)算類型極其豐富,表達(dá)式類型多樣化。靈活使用各種運(yùn)算符可以實(shí)現(xiàn)在其它高級(jí)語(yǔ)言中難以實(shí)現(xiàn)的運(yùn)算。
3. 數(shù)據(jù)結(jié)構(gòu)豐富
C語(yǔ)言的數(shù)據(jù)類型有:整型、實(shí)型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等。能用來(lái)實(shí)現(xiàn)各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)的運(yùn)算。并引入了指針概念,使程序效率更高。另外C語(yǔ)言具有強(qiáng)大的圖形功能,支持多種顯示器和驅(qū)動(dòng)器。且計(jì)算功能、邏輯判斷功能強(qiáng)大。
4. C是結(jié)構(gòu)式語(yǔ)言
結(jié)構(gòu)式語(yǔ)言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化,即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦,便于使用、維護(hù)以及調(diào)試。C語(yǔ)言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語(yǔ)句控制程序流向,從而使程序完全結(jié)構(gòu)化。
5.C語(yǔ)法限制
C語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大 雖然C語(yǔ)言也是強(qiáng)類型語(yǔ)言,但它的語(yǔ)法比較靈活,允許程序編寫者有較大的自由度
6. C語(yǔ)言允許直接訪問(wèn)物理地址,可以直接對(duì)硬件進(jìn)行操作
由于C語(yǔ)言允許直接訪問(wèn)物理地址,可以直接對(duì)硬件進(jìn)行
【c語(yǔ)言如何控制硬件】相關(guān)文章:
C語(yǔ)言如何調(diào)用硬件09-23
c語(yǔ)言怎么獲取硬件信息07-23
如何學(xué)習(xí)c語(yǔ)言10-21
C語(yǔ)言如何輸入語(yǔ)句10-28
如何搭建C語(yǔ)言環(huán)境10-27