1. 程式人生 > >資料模型(LP32 ILP32 LP64 LLP64 ILP64 )

資料模型(LP32 ILP32 LP64 LLP64 ILP64 )

現今所有64位的類Unix平臺均使用LP64資料模型,而64位Windows使用LLP64資料模型,除了指標是64位,其他基本型別都沒有變。

用ubuntu系統(類Unix系統)以64位codeblocks平臺進行測試,其基本型別長度符合LP64規則。用windows10(64位)以MinWG32編譯器測試,其基本型別長度符合ILP32。用windows10(64位)在VS2010上用x64編譯測試,其基本型別長度符合LLP64。可以確定,在windows系統上基本型別長度是由編譯器決定的,但由於沒有在類Unix系統上用32位編譯器測試,故不能確定是否可以得出在類Unix系統上也是編譯器決定基本型別長度的結論。

 TYPE               LP32   ILP32   LP64   ILP64   LLP64

CHAR                 8         8          8         8         8

SHORT              16       16        16       16       16

INT                    16       32        32       64       32

LONG                32       32        64       64       32

LONG LONG

     64       64        64       64       64

POINTER           32       32        64       64       64