Condividi tramite


Procedura: creare progetti C++ verificabili (C++/CLI)

Le procedure guidate dell'applicazione Visual C++ non creano progetti verificabili.

Importante

Visual Studio 2015 deprecato e Visual Studio 2017 non supporta la creazione /clr:pure e /clr:safe di progetti verificabili. Se è necessario codice verificabile, è consigliabile convertire il codice in C#.

Tuttavia, se si usa una versione precedente del set di strumenti del compilatore Microsoft C++ che supporta /clr:pure e /clr:safe, i progetti possono essere convertiti in modo che siano verificabili. Questo argomento descrive come impostare le proprietà del progetto e modificare i file di origine del progetto per trasformare i progetti di Visual Studio C++ per produrre applicazioni verificabili.

Impostazioni del compilatore e del linker

Per impostazione predefinita, i progetti .NET usano il flag del compilatore /clr e configurano il linker per l'hardware x86 di destinazione. Per il codice verificabile, è necessario usare il flag /clr:safe ed è necessario indicare al linker di generare MSIL anziché istruzioni native del computer.

Per modificare le impostazioni del compilatore e del linker

  1. Visualizzare la pagina delle proprietà del progetto. Per altre informazioni, vedere Impostare le proprietà del compilatore e della compilazione.

  2. Nella pagina Generale nel nodo Proprietà di configurazione impostare la proprietà Common Language Runtime Support su Safe MSIL Common Language Runtime Support (/clr:safe).

  3. Nella pagina Avanzate nel nodo Linker impostare la proprietà ClR Image Type su Force safe IL image (/CLRIMAGETYPE:SAFE).

Rimozione dei tipi di dati nativi

Poiché i tipi di dati nativi non sono verificabili, anche se non vengono effettivamente usati, è necessario rimuovere tutti i file di intestazione contenenti tipi nativi.

Nota

La procedura seguente si applica ai progetti Applicazione (.NET) e Applicazione console (.NET) Windows Form.

Per rimuovere i riferimenti ai tipi di dati nativi

  1. Impostare come commento tutti gli elementi nel file Stdafx.h.

Configurazione di un punto di ingresso

Poiché le applicazioni verificabili non possono usare le librerie di runtime C (CRT), non possono dipendere da CRT per chiamare la funzione principale come punto di ingresso standard. Ciò significa che è necessario specificare in modo esplicito il nome della funzione da chiamare inizialmente al linker. In questo caso, Main() viene usato anziché main() o _tmain() per indicare un punto di ingresso non CRT, ma poiché il punto di ingresso deve essere specificato in modo esplicito, questo nome è arbitrario.

Nota

Le procedure seguenti si applicano ai progetti Applicazione console (.NET).

Per configurare un punto di ingresso

  1. Modificare _tmain() in Main() nel file .cpp principale del progetto.

  2. Visualizzare la pagina delle proprietà del progetto. Per altre informazioni, vedere Impostare le proprietà del compilatore e della compilazione.

  3. Nella pagina Avanzate nel nodo Linker immettere Main come valore della proprietà Punto di ingresso.

Vedi anche