共用方式為


Windows 中的持續性記憶體程式設計 - NVML 整合

永續性記憶體 (PM) 技術提供對非變動性媒體的位元組層級存取,同時大幅減少儲存或擷取資料的延遲。 它會建立系統記憶體與傳統儲存體之間的新層。 任何依賴或調整且快速寫入永續性媒體的程式都可以受益于 PM。

本文的目的是要說明如何將非變動性記憶體程式庫 (NVML) 整合到 Visual Studio 專案中,以便輕鬆使用。

注意

持續性記憶體有時也稱為儲存體類別記憶體 (SCM) 。

 

PM 和 NVML

Windows Server 2016和 Windows 10 年度更新版 (1607) 引進了持續性記憶體的第一個支援。 如需快速概觀,請參閱這兩個 Channel9 影片:

為了協助開發人員利用持續性記憶體供應專案的優點,Microsoft 也參與將非變動性記憶體程式庫 (NVML) 帶入 Windows 的工作。 此程式庫提供各種工具,讓應用程式能夠感知永續性記憶體。 例如,它包含程式碼,可讓您輕鬆地建立 PM 感知索引鍵/值存放區,以進行非常快速的查閱和存放區。 您可以在 NVM 程式庫找到 NVML 的詳細資訊,包括範例。

將 NVML 整合到 Visual Studio 專案

  1. 下載 NVML 程式庫檔案和標頭
  1. 將程式庫檔案和標頭放在您選擇的目錄中,例如:「C:\NVML\lib」 和 「C:\NVML\inc」。

  2. 設定您的專案,如下所示:

  • 開啟您的 Visual Studio 專案,然後在 「方案總管」 中,以滑鼠右鍵按一下專案的名稱。
  • 開啟結果快顯視窗底部的專案設定窗格。
  • 流覽至 [組態屬性 - > C/C++],並將您儲存標頭的資料夾新增至 [其他包含目錄] 欄位 (C:\NVML\inc) 。
  • 接下來,流覽至 [組態屬性 - > 連結器],並將您儲存程式庫的資料夾新增至 [其他程式庫目錄] 欄位, (C:\NVML\lib)
  1. 接下來,請確定您以 Windows Server 2016 或 Windows 10 年度更新專案為目標:
  • 流覽至 [組態屬性 - > 一般],並將 [目標平臺版本] 欄位設定為 「10.0.14393.0」 和
  • 流覽至 [組態屬性 - > C/C++],並將 「NTDDI_VERSION=NTDDI_WIN10_RS1;」 新增至 [預處理器] 欄位。
  1. 在您的程式碼中包含標頭,並連結至必要的程式庫
  • 此時,您可以只包含您想要在程式碼中使用的標頭檔,就像任何其他標頭檔一樣。 例如,若要使用 libpmem:
    • 新增 「#include < libpmem.h > 」 和
    • 將 「libpmem.lib」 新增至 「Configuration Properties - > Linker - > Input - > 其他相依性」

此時,您已準備好直接在程式碼中呼叫程式庫的函式,並利用它們。