c語言如何控制硬件

你們知道在C語言中如何控制計算機的硬件嗎?下面是應屆畢業生小編帶來的關於c語言如何控制硬件的內容,歡迎閱讀!

c語言如何控制硬件

 c語言如何控制硬件?

C語言是沒辦法控制硬件的

首先,C語言不能夠直接對硬件進行操作。從本質上來說,連彙編語言都不可以。只有機器語言能夠直接操作硬件。

其次,C語言要操作硬件是必須經過一系列的編譯轉換。最終它會成爲0101的`機械碼,這個時候它根本不是我們所能夠理解的C語言了。

以GCC編譯器爲例,這個可以分爲四步。

第一步是預處理,包括語法檢查等工作。

gcc -P abc.c

第二步由源程序生產彙編語言代碼。

gcc -S abc.c

會生成abc.s文件,這個文件裏就是彙編代碼。

第三步編譯器生成目標代碼,一個源文件生成一個目標代碼。

gcc -c abc.c

會生成abc.o

第四步連接器從目標代碼生成可執行文件。

gcc abc.o

最後,相對來說,C語言在高級語言當中是最貼近物理層面的語言。它也被稱作高級語言裏面的低級語言。因爲它很多方面都非常貼近硬件。典型的就是指針,這是一種通過物理地址直接操作內存的變量。

如果是電腦程序的話,譬如你在vc6.0裏面c語言裏面編寫一個程序,那麼vc6裏面的編譯器會把你的c語言語句按照對應的關係翻譯成你計算機能識別的計算機語句,然後你電腦cpu會按照這些指令來控制你的硬盤,內存讀寫之類的硬件操作。

如果是單片機之類的話,譬如你在keil裏面用c語言編寫了一個單片機程序,那麼keil的編譯器會把你的c語言程序編寫成彙編語言程序文件,然後把那個彙編程序文件燒到單片機芯片上就可以讓芯片按照指令工作了。