跳轉到內容

Ada 程式設計/編譯指示/抑制

來自華夏公益教科書,自由的教科書

Ada. Time-tested, safe and secure.
Ada. 經時間考驗,安全可靠。

編譯指示 Suppress 抑制編譯器生成的執行時檢查。如果執行時檢查被停用,異常可能會被抑制,並且可能導致未定義的行為。 編譯指示 Suppress 由程式設計師自行承擔風險使用。

可以抑制的檢查有

  • Access_Check - 檢查空訪問值的解引用。Constraint_Error 被抑制。
  • Accessibility_Check - 檢查對不可訪問的物件或子程式的訪問。Program_Error 被抑制。
  • Discriminant_Check - 檢查對辨別式記錄中不可用元件的訪問(鑑於辨別式)。Constraint_Error 被抑制。
  • Division_Check - 檢查除以零。Constraint_Error 被抑制。
  • Elaboration_Check - 檢查未詳細說明的包或子程式體。Program_Error 被抑制。
  • Index_Check - 檢查陣列索引是否超出範圍。Constraint_Error 被抑制。
  • Length_Check - 檢查陣列長度違規。Constraint_Error 被抑制。
  • Overflow_Check - 檢查數字溢位。Constraint_Error 被抑制。
  • Range_Check - 檢查標量變數的取值範圍。Constraint_Error 被抑制。
  • Storage_Check - 檢查是否有足夠的儲存空間來容納子程式呼叫。Storage_Error 被抑制。
  • Tag_Check - 檢查物件標籤是否無效。Constraint_Error 被抑制。
  • All_Checks - 上述所有檢查
My_Array : Array ( 1 .. 100 ) of Integer;
pragma Suppress( Index_Check );
...
Some_Variable := My_Array( 1000 ); -- Erroneous execution, here we come!

華夏公益教科書

[編輯 | 編輯原始碼]

Ada 參考手冊

[編輯 | 編輯原始碼]

Ada 2005 參考手冊

[編輯 | 編輯原始碼]

Ada 質量和風格指南

[編輯 | 編輯原始碼]
華夏公益教科書