Delen via


Procedure: verifieerbare C++-projecten maken (C++/CLI)

Wizards voor Visual C++-toepassingen maken geen verifieerbare projecten.

Belangrijk

Visual Studio 2015 afgeschaft en Visual Studio 2017 biedt geen ondersteuning voor de /clr:pure en /clr:veilige creatie van verifieerbare projecten. Als u verifieerbare code nodig hebt, raden we u aan uw code te vertalen naar C#.

Als u echter een oudere versie van de Microsoft C++-compilerhulpprogrammaset gebruikt die ondersteuning biedt voor /clr:pure en /clr:safe, kunnen projecten worden geconverteerd naar verifieerbaar. In dit onderwerp wordt beschreven hoe u projecteigenschappen instelt en projectbronbestanden wijzigt om uw Visual Studio C++-projecten te transformeren om verifieerbare toepassingen te produceren.

Compiler- en linkerinstellingen

Standaard gebruiken .NET-projecten de /clr-compiler-vlag en configureren ze de linker om x86-hardware te targeten. Voor verifieerbare code moet u de vlag /clr:safe gebruiken en de linker instrueren om MSIL te genereren in plaats van systeemeigen machine-instructies.

De compiler- en linkerinstellingen wijzigen

  1. De projecteigenschapspagina weergeven. Zie Eigenschappen van compiler en build instellen voor meer informatie.

  2. Stel op de pagina Algemeen onder het knooppunt Configuratie-eigenschappen de eigenschap Common Language Runtime Support in op Safe MSIL Common Language Runtime Support (/clr:safe).

  3. Stel op de pagina Geavanceerd onder het Linker-knooppunt de eigenschap CLR Image Type in op Veilig IL-installatiekopie forceren (/CLRIMAGETYPE:SAFE).

Systeemeigen gegevenstypen verwijderen

Omdat systeemeigen gegevenstypen niet verifieerbaar zijn, zelfs als ze niet daadwerkelijk worden gebruikt, moet u alle headerbestanden met systeemeigen typen verwijderen.

Opmerking

De volgende procedure is van toepassing op Projecten van Windows Forms Application (.NET) en Console Application (.NET).

Verwijzingen naar systeemeigen gegevenstypen verwijderen

  1. Zet alles in het bestand Stdafx.h in commentaar.

Een toegangspunt configureren

Omdat verifieerbare toepassingen de C-runtimebibliotheken (CRT) niet kunnen gebruiken, kunnen ze niet afhankelijk zijn van de CRT om de hoofdfunctie aan te roepen als het standaardinvoerpunt. Dit betekent dat u expliciet de naam van de functie moet opgeven die aanvankelijk door de linker moet worden aangeroepen. (In dit geval wordt Main() gebruikt in plaats van main() of _tmain() om een niet-CRT-invoerpunt aan te geven, maar omdat het toegangspunt expliciet moet worden opgegeven, is deze naam willekeurig.)

Opmerking

De volgende procedures zijn van toepassing op consoletoepassingsprojecten (.NET).

Een toegangspunt configureren

  1. Wijzig _tmain() in Main() in het hoofdbestand van het project .cpp.

  2. De projecteigenschapspagina weergeven. Zie Eigenschappen van compiler en build instellen voor meer informatie.

  3. Voer onder de Linker node op de pagina GeavanceerdMain in als de waarde van de eigenschap Toegangspunt.

Zie ook