還是讓彙編版的高手給你講解吧。整體來說,彙集的指令基本上是與CPU指令一一對應的,每條指令都沒有多餘的動作,但其他高級語言多多少少都有多餘的指令,因為後者面對的情景不單一,需要考慮很多防禦問題,如果情景很明確,在確知刪掉什麼也能滿足需求的時候,就考慮使用彙編層次的程序。也就是說,如果你使用的語言越低級,面對的環境就越單一、越有針對性,其反面是缺乏通用性。其實道理很簡單,86系列的彙編就只適用於特定的機器,但考慮移植性的高級語言編譯出來的代碼必然會有檢測機器類型然後調用對應指令的動作,其總體代碼包裹一系列不同針對性的功能包備用,這些檢測動作有時被視為多餘、低效率,代碼覆蓋面廣也被視為臃腫,有潔癖的人無法容忍這些東西,就會追求高效。其實,只要你面對真實需要的環境,恐怕自以為高效的手段,會破綻百出。
授人以渔,不授人以鱼。