編譯器
在指定編譯器最佳化等級的選項中,不進行最佳化的設定(-O0等)經常用於下列哪種情況?
- A要製作作為產品發布、盡可能快的程式時
- B在偵錯器中逐行確認動作並尋找錯誤時
- C想把程式的大小縮到最小時
查看答案與解析
正確答案:B. 在偵錯器中逐行確認動作並尋找錯誤時
在不進行最佳化的設定下,原始碼的每一行幾乎都依原本的順序對應到機器碼,變數也一直保留在記憶體或暫存器中,因此容易在偵錯器中逐行執行或確認變數的值。一旦施加最佳化,指令的重新排列與變數的刪除會使得與原始碼的對應變得難以理解。要製作作為產品的快速程式時,使用較高的最佳化等級;想縮小大小時,則使用以大小優先的設定。
- A. 要製作快速的程式,應使用較高的最佳化等級。
- B. 正確。與原始碼的對應清楚,適合偵錯。
- C. 要縮小大小,應使用以大小優先的設定。