2009-07-14 16 views
1

Wenn portieren Unix-Projekt in C-Sprache entwickelt, um Windows und kompilieren mit VS 2005, Compiler meldet Fehler im Zusammenhang mit inkorrekter Typkonvertierung wie "const char * 'nicht in' char konvertieren * '". Ist es möglich, diese starke Überprüfung durch Compiler-Optionen zu deaktivieren?Deaktivieren von C++ - Typ stark Einchecken VS

-Danke für Aufmerksamkeit

Antwort

1

Angenommen, Ihr Code ist gültig C (C89, speziell, da VC++ C99 nicht unterstützt), wird es automatisch, wenn Sie deaktiviert werden Benennen Sie die Datei entweder mit der Erweiterung .c oder in den Projekteigenschaften auf "Compile as C"

Das sollte alle C++ - spezifischen Features deaktivieren und Typprüfungen durchführen.

+0

jalf, es funktioniert und in der Lage, typbezogene Fehler zu deaktivieren. Geplant, alle Arten von Fehlern zu korrigieren, bevor nach GoZ empfohlen, nach C++ zu wechseln. Danke für die Antworten. –

1

Ich bin ziemlich sicher, müssen Sie nur die „Compile als C“ Kommandozeilenoption (/ TP) einzustellen. ANSI-C (Over ANSI-C++) ist mir nicht ganz geläufig, aber ich empfehle dringend, es in Typ-Safe zu konvertieren. Warum eine Konstante zurückgeben und diese Tatsache ignorieren?

0

Ich bin mir nicht sicher, ob Sie können - es kann der Fall sein, dass der C-Code nicht gültig ist (und der Unix-Compiler, den Sie falsch verwenden, erlaubt es). Sie können Warnungen deaktivieren, aber ich denke nicht, dass Sie bestimmte Fehler deaktivieren können.

Wenn Sie noch nicht haben, können Sie die Projektoptionen ändern, um als C anstelle von C++ (Prpoerties -> Config Properties -> C/C++ -> Advanced) zu kompilieren, aber ich denke nicht, dass das helfen wird.

Wenn Sie als C++ kompilieren, const_cast könnte helfen können: http://msdn.microsoft.com/en-us/library/bz6at95h(VS.80).aspx

Verwandte Themen