1樓:匿名使用者
不能。首先,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語言在高階語言當中是最貼近物理層面的語言。它也被稱作高階語言裡面的低階語言。因為它很多方面都非常貼近硬體。
典型的就是指標,這是一種通過實體地址直接操作記憶體的變數。
2樓:匿名使用者
c語言只是一種程式設計工具,微控制器程式設計可用c語言,機器人程式設計也有用c語言,計算機系統下的程式設計也可以用c語言。是否可以操作硬體,看你用c語言的環境。微控制器程式設計、機器人程式設計肯定就要操作硬體,如果是編寫計算機系統的軟體,又要看是什麼作業系統,win98之前的系統,程式可以直接操作硬體,nt以後的系統,使用者程式不能直接操作硬體,必須通過驅動程式介面來操作硬體。
組合語言可以對硬體直接進行操作是什麼意思?C語言可以嗎
因所有語言都最後要轉換成機器碼,因計算機只會按這機器碼進行執行,而組合語言就是這機器碼的助記符 幫助記憶的符號 所以它就是直接可操作機器的語言。c語言是一種中級語言,它也可進行機器的直接操作,只是還要經過一些設定或轉換才行。組合語言可以控制一些特定的暫存器進行資料的操作 如可以將一個數放到ax暫存器...
怎樣不經過作業系統直接對U盤進行讀寫操作
進dos,首先要準備好光碟,或者你要用的這臺電腦有dos,進入dos,找到你要操作的檔案。下面附上你能用上的dos命令 常用的命令 cd 改變當前目錄 cls 清屏 copy 拷貝檔案 del 刪除檔案 deltree 刪除目錄樹 dir 列檔名 diskcopy 複製磁碟 edit 文字編輯 md...
c語言可以實現這樣的操作嗎?如果不能,怎樣修改
不能,陣列內定義的陣列數目一定要是常量。但可以用malloc函式,函式呼叫是可以的。比如你要申請int型的未知個數陣列。可以以下程式 include include main 天堂妹兒 不能,因為陣列的長度必須是一個常數,如果你想改變陣列長度,可以先設個全域性變數,然後再設一個比這個全域性變數小的值...