資料模型(LP32 ILP32 LP64 LLP64 ILP64 )
阿新 • • 發佈:2019-01-10
現今所有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
POINTER 32 32 64 64 64