Ada 程式設計/編譯指示/Pack:3
外觀
重要的是要認識到,編譯指示 Pack 不應該用於指定資料型別的精確表示,而是幫助編譯器提高生成程式碼的效率。[1] 編譯器可以自由地忽略此編譯指示,因此如果需要型別的特定表示,應該使用 表示子句(記錄表示子句,或屬性 'Size 或 'Component_Size)。
雖然在 Ada 83 中,打包的布林陣列用於位操作,[2] 但自 Ada 95 以來,模型別 更適合這些操作。[3] 論點可以權衡命名布林陣列索引的優點,例如Traffic_Lights'(Red => True,others => False),取決於用例。
- ↑ Adam Beneschan (2008-01-09). "Pragma Pack vs. Convention C, portability issue?". comp.lang.ada. (網路連結). Retrieved on 2008-05-27.
- ↑ Software Productivity Consortium (October 1995). Ada 95 Quality and Style Guide, "10.5.7 Packed Boolean Array Shifts"
- ↑ Software Productivity Consortium (October 1995). Ada 95 Quality and Style Guide, "10.6.3 Bit Operations on Modular Types"