Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La tecnologia di memoria persistente (PM) fornisce l'accesso a livello di byte ai supporti non volatili, riducendo al tempo stesso la latenza di archiviazione o recupero significativo dei dati. Crea un nuovo livello tra la memoria di un sistema e l'archiviazione tradizionale. Qualsiasi programma dipendente da o su larga scala con scritture rapide in un supporto persistente può trarre vantaggio da PM.
Lo scopo di questo articolo è illustrare in che modo la libreria di memoria non volatile (NVML) può essere integrata in un progetto di Visual Studio per semplificare l'uso.
Nota
La memoria persistente viene talvolta definita anche memoria della classe di archiviazione (SCM).
PM e NVML
Il primo supporto per la memoria persistente è stato introdotto in Windows Server 2016 e nell'aggiornamento dell'anniversario di Windows 10 (1607). Per una rapida panoramica, vedere questi due video di Channel9:
- uso di memoria non volatile (NVDIMM-N) come archiviazione a blocchi in Windows Server 2016
- uso di memoria non volatile (NVDIMM-N) come archiviazione Byte-Addressable in Windows Server 2016
Per aiutare gli sviluppatori a sfruttare i vantaggi offerti dalle offerte di memoria persistente, Microsoft ha contribuito anche agli sforzi di portare la libreria di memoria non volatile (NVML) in Windows. Questa libreria fornisce vari strumenti per rendere le applicazioni in grado di supportare la memoria persistente. Ad esempio, contiene codice che consente di creare facilmente un archivio chiave-valore compatibile con PM per ricerche e negozi estremamente veloci. Per altre informazioni su NVML, inclusi gli esempi, vedere libreria NVM.
Integrazione di NVML in un progetto di Visual Studio
- Scaricare i file e le intestazioni della libreria NVML
- NVML viene gestito in GitHub. È possibile compilare manualmente l'origine o semplicemente scaricare i file binari compilati direttamente da qui: NVML versione 1.2 - Windows Technical Preview.
Inserire i file e le intestazioni della libreria in una directory di propria scelta, ad esempio "C:\NVML\lib" e "C:\NVML\inc" rispettivamente.
Configurare il progetto come segue:
- Aprire il progetto di Visual Studio e in "Esplora soluzioni" fare clic con il pulsante destro del mouse sul nome del progetto.
- Aprire il riquadro delle impostazioni del progetto nella parte inferiore del popup risultante.
- Passare a "Proprietà di configurazione -> C/C++" e aggiungere la cartella in cui è stata archiviata l'intestazione (C:\NVML\inc) al campo "Directory di inclusione aggiuntive".
- Passare quindi a "Proprietà di configurazione -> Linker" e aggiungere la cartella in cui è stata archiviata la libreria (C:\NVML\lib) al campo "Directory librerie aggiuntive"
- Assicurarsi quindi di specificare come destinazione il progetto per Windows Server 2016 o Windows 10 Anniversary Update:
- Passare a "Proprietà di configurazione -> Generale" e impostare il campo "Versione piattaforma di destinazione" su "10.0.14393.0" e
- Passare a "Proprietà di configurazione -> C/C++" e aggiungere "NTDDI_VERSION=NTDDI_WIN10_RS1;" al campo "Preprocessore".
- Includere le intestazioni nel codice e collegarsi alle librerie necessarie
- A questo punto, è sufficiente includere i file di intestazione che si sta cercando di usare nel codice come qualsiasi altro file di intestazione. Ad esempio, per usare libpmem:
- aggiungere "#include <libpmem.h>" e
- aggiungere "libpmem.lib" a "Proprietà di configurazione -> Linker - input> -> dipendenze aggiuntive"
A questo punto si è pronti per chiamare le funzioni della libreria direttamente nel codice e sfruttarle.