跳轉到內容

Ada 程式設計/編譯指示/Pack:3

來自華夏公益教科書,開放的書籍,開放的世界

精確資料表示

[編輯 | 編輯原始碼]

重要的是要認識到,編譯指示 Pack 不應該用於指定資料型別的精確表示,而是幫助編譯器提高生成程式碼的效率。[1] 編譯器可以自由地忽略此編譯指示,因此如果需要型別的特定表示,應該使用 表示子句(記錄表示子句,或屬性 'Size'Component_Size)。

位操作

[編輯 | 編輯原始碼]

雖然在 Ada 83 中,打包的布林陣列用於位操作,[2] 但自 Ada 95 以來,模型別 更適合這些操作。[3] 論點可以權衡命名布林陣列索引的優點,例如Traffic_Lights'(Red => True,others => False),取決於用例。

  1. Adam Beneschan (2008-01-09). "Pragma Pack vs. Convention C, portability issue?". comp.lang.ada. (網路連結). Retrieved on 2008-05-27.
  2. Software Productivity Consortium (October 1995). Ada 95 Quality and Style Guide, "10.5.7 Packed Boolean Array Shifts"
  3. Software Productivity Consortium (October 1995). Ada 95 Quality and Style Guide, "10.6.3 Bit Operations on Modular Types"
華夏公益教科書