共用方式為


抽象數據模型

每個應用程式和每個作系統都有抽象的數據模型。 許多應用程式不會明確公開此數據模型,但模型會引導應用程式程式代碼撰寫的方式。 在32位程序設計模型中(稱為 ILP32 模型),整數、長和指標數據類型的長度為32位。 大部分的開發人員都未意識到此模型。 對於 Win32 API 的歷史,這是有效的假設,雖然不一定是安全的假設。

在 64 位 Windows 中,數據類型大小中的同位假設無效。 讓所有數據類型長度為64位會浪費空間,因為大部分的應用程式不需要增加的大小。 不過,應用程式確實需要 64 位數據的指標,而且需要能夠在選取的情況下擁有 64 位數據類型。 這些考慮導致選取稱為 LLP64(或 P64) 的抽象數據模型。 在 LLP64 數據模型中,只有指標會展開至 64 位;所有其他基本數據類型 (整數和long) 都保持32位的長度。

一開始,在64位 Windows 上執行的大部分應用程式都會從32位 Windows 移植。 這是一個目標,相同來源,仔細撰寫,應該在32位和64位 Windows 上執行。 定義數據模型並不會讓這項工作變得更容易。 不過,確保數據模型只影響指標數據類型是第一個步驟。 第二個步驟是定義一組新的數據類型,可讓開發人員自動調整其指標相關數據的大小。 這可讓與指標相關聯的數據隨著指標大小從 32 位變更為 64 位而變更大小。 基本數據類型的長度會維持 32 位,因此磁碟上的數據大小、透過網路共用的數據,或透過記憶體對應檔案共享的數據不會變更。 這可減輕開發人員將 32 位程式代碼移植到 64 位 Windows 的投入。

這些新的數據類型已新增至 Windows API 頭檔。 因此,您現在可以開始使用新的類型。 如需詳細資訊,請參閱 新的資料類型