當前位置:編程學習大全網 - 編程軟體 - C語言為什麽要先編譯成匯編語言

C語言為什麽要先編譯成匯編語言

C語言,具有可移植性,或者說同樣的代碼可以在不同cpu平臺上運行得到同樣的結果

匯編語言,移植性差,壹般針對某型cpu,每個類型的cpu都有自己的匯編語言

為保證C語言編制的通用算法的可移植性,比如我們用C編寫了壹套mp3解碼算法程序,要在pc機上、手機上都能用,那麽我們就采用通用的C編譯器,將C語言程序編譯成指定CPU的匯編語言,再匯編成機器可執行程序。

另壹個用途是程序優化問題,在C語言層次,由於是高級語言,不涉及底層硬件,那麽底層硬件的特性不能夠得到充分利用,在需要優化算法的場合,我們需要將C語言算法編譯生成匯編程序,然後修改需要優化的匯編程序達到目的。比如,妳在手機上經常會遇到音頻解碼器,需要安裝,而且不同的cpu需要選擇不同的解碼器,這些解碼器應當就是在匯編層次上優化了算法的可執行代碼,關鍵部分經過匯編級優化,不需要優化部分仍然使用C語言編譯的結果。

  • 上一篇:c++:c++:Cstring和string類型有什麽區別?
  • 下一篇:初中畢業生學什麽專業好?
  • copyright 2024編程學習大全網