Um Ihnen eine konkretere Antwort zu geben, wird Visual Studio definitiv C-Code in einem C ++ - Projekt kompilieren. Es kompiliert es sogar als C-Code, nicht als C ++ - Visual Studio behandelt alles mit einer .c-Erweiterung als C-Code und wird standardmäßig als solches kompiliert. Dies wird in der Dokumentation zu MSDN bestätigt (wenn auch nur für VS2008 und VS2010 angegeben). Es gibt sogar einen Compiler-Befehlszeilenschalter ( /Tc
) und eine Option auf der Eigenschaftsseite einer beliebigen .c-Datei, um sie als C ++ - Code anstatt als C-Standard zu kompilieren.
Im Allgemeinen ist C eine Teilmenge von C ++. Für ein einfaches C-Programm, nenne es einfach ein C ++ - Projekt. Ich habe keine Kopie der Software zur Hand, aber wenn Sie eine Datei mit der Erweiterung '.c' erstellen, wird diese als C. behandelt. [Ich hätte möglicherweise hinzufügen können: ".. wie in den Versionen von Visual Studio und Visual C ++, die ich seit Anfang der 90er Jahre benutzt habe.]
Update : Für @R, der in seinen Programmiersprachen nicht so aktuell ist wie er denkt:
C ++ ist ein direkter Nachkomme von C, der behält fast alles von C als eine Teilmenge. C ++ bietet eine stärkere Typprüfung als C und direkt unterstützt ein breiteres Bereich der Programmierstile als C. C ++ ist "ein besseres C" in dem Sinne, dass Es unterstützt die Stile der Programmierung getan mit C mit besserer Typprüfung und mehr Notationsunterstützung (ohne Verlust der Effizienz). Im gleichen Sinn, ANSI C ist ein besseres C als K & amp; R C. Darüber hinaus unterstützt C ++ Daten Abstraktion, objektorientiert Programmierung und generische Programmierung (Siehe C ++ Programmiersprache (3 Edition) "; Anhang B diskutiert Kompatibilitätsprobleme sind für verfügbar wird heruntergeladen). [Hervorhebung von mir.]
Der Autor dieser Aussage ist ein Kollege mit einem gewissen Verständnis von C ++ mit dem Namen Bjarne . Und bevor du versuchst, dich zu retten, indem du vorsichtig die "fast alle" notierst, lies, was ich geschrieben habe: " Im Allgemeinen , C ..."
Ich versuche, ein graphisches Feedback zu Fragen zu geben. Die Screenshots aus dem Eigenschaftendialog eines Projekts (1PassCompilerFixNotation) und einer Quelldatei (emitter.c) in Visual Studio 2008 sollten identisch mit VS 2005 sein.
Für das ganze Projekt:
Klicken Sie mit der rechten Maustaste auf den Projektknoten im Projektmappen-Explorer und wählen Sie "Eigenschaften"
Durch Setzen des Eintrags "Übersetzen als" in der Registerkarte "Erweitert" können Syntax und Semantik zwischen
geändert werdenfür das Projekt. (Siehe Bild unten)
Für eine bestimmte Datei:
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf eine C / C ++ - Datei und wählen Sie "Eigenschaften"
Durch Setzen des Eintrags "Übersetzen als" in der Registerkarte "Erweitert" können Syntax und Semantik zwischen
geändert werdenfür eine bestimmte Datei. (Siehe Bild unten)
Hinweis: Bestimmte Dateieinstellungen überschreiben die Standardeinstellungen des Projekts.
Microsoft Visual Studio 2005 wird mit einem soliden C89 / 90-Compiler geliefert. Es gibt keine Probleme mit C in VS2005. Dateien mit der Erweiterung .c
werden automatisch als C-Dateien kompiliert. (Oder Sie können die Sprache mithilfe der Projekteinstellungen / Befehlszeilenschalter wie in anderen Antworten beschrieben überschreiben).
Denken Sie daran, dass VS-Compiler nur den "klassischen" C89 / 90 unterstützen. Es gibt keine Unterstützung für C99-Funktionen (nicht einmal C11 erwähnt).
Tags und Links c c++ visual-studio visual-studio-2005