757 Stimmen

C++ Code Dateierweiterung? Was ist der Unterschied zwischen .cc und .cpp

Ich habe C++-Code gesehen, der sowohl als .cc et .cpp Dateien. Gibt es einen Unterschied zwischen diesen beiden?

があります。 Google Style Guide scheint darauf hinzudeuten .cc , liefert aber keine Erklärung.

Ich beschäftige mich hauptsächlich mit Programmen auf Linux-Systemen.

145 Stimmen

Schlussfolgerung Das spielt keine Rolle. Mögliche Herkunft cc = C mit Klassen, cpp = C plus plus

11 Stimmen

Das ist wichtig für Clang++. Wenn Sie ihm eine C++-Header-Datei mit einem Namen geben, der auf .h endet, warnt clang++ Sie.

7 Stimmen

Ein weiteres Werkzeug, das sich ein wenig kümmert, ist emacs. Mit einer sauberen .emacs-Konfiguration aktiviert das Öffnen ("Finden" in der emacs-Sprache) einer .h-Datei den c-Modus, nicht den c++-Modus. Natürlich können Sie emacs so konfigurieren, dass er etwas anderes macht (wie alles in emacs), aber ich will damit sagen, dass der c-Modus die Standardeinstellung ist.

22voto

Andere verwendete Dateierweiterungen sind .cxx y .C (großes C). Ich glaube, Bjarne Stroustrup hat .C ursprünglich. .cpp ist der Name des C-Präprozessors, daher ist es bedauerlich, dass er auch für C++ verwendet wurde.

20voto

Roland Rabien Punkte 8576

Die andere Möglichkeit ist .cxx wo die x soll ein um 45° gedrehtes Plus sein.

Windows, Mac und Linux werden alle unterstützt .c++ also sollten wir das einfach verwenden.

17voto

Ben Voigt Punkte 268424

Mehrere Personen sagen .cc für nichts steht? Es könnte. C++ begann als "C mit Klassen".

Das stimmt .cc y .cpp sind auf den meisten Unix-Systemen auch Befehlsnamen (c compiler bzw. c preprocessor).

Ich benutze .cpp ausschließlich, aber ich habe mit Windows angefangen. .cc ist eher eine Unix-Konvention, obwohl ich sie auch dort immer seltener sehe. GNU make hat Regeln für .cpp also ist das wahrscheinlich vorzuziehen, es funktioniert standardmäßig sowohl unter Windows als auch unter allen anderen Betriebssystemen. Auf der anderen Seite verwendet modernes C++ überhaupt keine Erweiterung für Header, das gefällt mir nicht. Alle meine Projekte verwenden .h für Header-Dateien, und sie unterstützen sowohl C als auch C++ so weit wie möglich über extern "C" und Prüfung __cplusplus .

14voto

Ben S Punkte 66945

Halten Sie sich einfach an die Konvention, die für Ihr Projekt/Team verwendet wird.

11voto

Kyle Punkte 1

Die .cc-Erweiterung ist notwendig, um implizite Regeln in makefiles zu verwenden. Schauen Sie sich diese Links an, um ein besseres Verständnis von Makefiles zu bekommen, aber schauen Sie sich vor allem den zweiten an, da er die Nützlichkeit der .cc-Erweiterung deutlich macht:

ftp://ftp.gnu.org/old-gnu/Manuals/make-3.79.1/html_chapter/make_2.html

https://ftp.gnu.org/old-gnu/Manuals/make-3.79.1/html_chapter/make_10.html

Ich habe erst jetzt davon erfahren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X