Gewusst wie: Erstellen überprüfbarer C++-Projekte
Aktualisiert: November 2007
Mit Visual C++-Anwendungs-Assistenten können keine überprüfbaren Projekte erstellt werden, es können jedoch Projekte in überprüfbare Projekte konvertiert werden. In diesem Thema wird beschrieben, wie Projekteigenschaften festgelegt und Quellcodedateien von Projekten geändert werden, um aus Visual C++-Projekte überprüfbare Anwendungen zu generieren.
Compiler- und Linkereinstellungen
.NET-Projekte verwenden standardmäßig das Compilerflag /clr und konfigurieren den Linker für x86-Hardware. Für überprüfbaren Code müssen Sie das Flag /clr:safe verwenden, und Sie müssen den Linker anweisen, statt systemeigene Maschinenbefehle MSIL zu generieren.
So ändern Sie die Compiler- und Linkereinstellungen
Zeigen Sie die Eigenschaftenseite des Projekts an. Weitere Informationen hierzu finden Sie unter Gewusst wie: Öffnen von Projekteigenschaftenseiten.
Legen Sie auf der Seite Allgemein unter dem Knoten Konfigurationseigenschaften die Common Language Runtime-Unterstützung-Eigenschaft auf Sichere MSIL Common Language Runtime-Unterstützung (/clr:safe) fest.
Legen Sie auf der Seite Erweitert unter dem Knoten Linker die CLR-Bildtyp-Eigenschaft auf Sicheres IL-Bild erzwingen (/CLRIMAGETYPE: SAFE) fest.
Entfernen von systemeigenen Datentypen
Da systemeigene Datentypen auch dann nicht überprüfbar sind, wenn sie nicht verwendet werden, müssen alle Headerdateien mit systemeigenen Typen entfernt werden.
Hinweis: |
---|
Die im Folgenden beschriebene Vorgehensweise bezieht sich auf Projekte für Windows Forms (.NET)- und Konsolenanwendungsprojekte (.NET). |
So entfernen Sie Verweise auf systemeigene Datentypen
- Kommentieren Sie in der Datei Stdafx.h alles aus.
Konfigurieren eines Einstiegspunktes
Da überprüfbare Anwendungen keine C-Laufzeitbibliotheken (CRT) verwenden können, dürfen sie nicht von CRT abhängig sein, um die Hauptfunktion als Standardeinstiegspunkt aufzurufen. Das bedeutet, dass Sie den Namen der Funktion explizit angeben müssen, die vom Linker beim Start aufgerufen werden soll. (In diesem Fall wird zum Angeben eines CRT-fremden Einstiegspunktes Main() und nicht main() oder _tmain() verwendet. Da der Einstiegspunkt explizit angegeben werden muss, ist dieser Name jedoch frei wählbar.)
Hinweis: |
---|
Die folgende Vorgehensweise bezieht sich auf Konsolenanwendungsprojekte (.NET). |
So konfigurieren Sie einen Einstiegspunkt
Ändern Sie in der Haupt-CPP-Datei des Projekts _tmain () in Main().
Zeigen Sie die Eigenschaftenseite des Projekts an. Weitere Informationen hierzu finden Sie unter Gewusst wie: Öffnen von Projekteigenschaftenseiten.
Geben Sie auf der Seite Erweitert unter dem Knoten Linker als Einstiegspunkt-Eigenschaftenwert Main ein.