Ich möchte einen Kernel-Treiber mit Visual Studio 2015 schreiben, also habe ich das Windows 10 SDK und WDK neben installiert VS 2015.WDK, intellisense und C: "Befehlszeilenfehler: Ausnahme-Behandlung Option kann nur beim Übersetzen C++ Treiber verwendet werden"
Ich erstellte leere Kernel-Treiber-Projekt und main.c innerhalb des Projekts.
jedoch Intellisense funktioniert nicht und Fehlerliste zeigt:
"command-line error: exception handling option can be used only when compiling C++ driver"
Ich nehme an VS will, dass ich mein Projekt auf c codieren ++, aber ich will nicht auf c codieren ++. Ich hasse Casting beim Zuweisen von Speicher usw. Gibt es einen Workaround dafür?
Dank
Wenn Sie C++ Speicherallokatoren verwenden dann müssen Sie nicht werfen ... –
Aber ich habe andere Gründe, nicht C++ in einem solchen Projekt zu schreiben (und wie kann ich den Typ angeben (z. B. ausgelagerten, nicht ausgelagerten Speicher oder User-Mode, Kernel-Mode-Speicher) über den C++ - Allokator) –
Es macht fast nie Sinn, C über C++ zu wählen, da C++ als "besseres C" geschrieben werden kann. Es gibt kein Gesetz, das besagt, dass Sie OO-Konstrukte verwenden müssen oder dass Sie "malloc", die OS-Speicher-APIs oder etwas anderes, das Sie auswählen, nicht verwenden können. Ich habe Treiber in C++ geschrieben, die Sie von C nur schwer durchschauen könnten, aber sie genießen die Vorteile, die C++ mit sich bringt. –