.cc
C++コードがと.cpp
ファイルの両方として保存されているのを見てきました。2つの間に違いはありますか?
Googleスタイルガイドは示唆しているようです.cc
が、説明はありません。
私は主にLinuxシステム上のプログラムに関心があります。
.cc
C++コードがと.cpp
ファイルの両方として保存されているのを見てきました。2つの間に違いはありますか?
Googleスタイルガイドは示唆しているようです.cc
が、説明はありません。
私は主にLinuxシステム上のプログラムに関心があります。
結局のところ、C ++コンパイラはどちらの形式のファイルも処理できるため、問題ではありません。それがチーム内の本当の問題である場合は、コインを投げて実際の作業に進みます。
GNU GCC は、次のすべてを C++ ファイルとして認識し.C
、 gccまたはg++.cc
のどちらから呼び出すかに関係なく、C++ コンパイルを使用し.cpp
ます。.CPP
.c++
.cp
.cxx
.C
- GCCではケースが重要であることに注意してください。これは.c
Cファイルです.C
が、C++ファイルです(コンパイラーにコンパイル対象を決定させる場合)。
GCC は、特別な処理を示す他の接尾辞もサポートしています。たとえば、.ii
ファイルは C++ としてコンパイルされますが、前処理はされません (個別に前処理されたコードを対象としています)。認識されているすべての接尾辞は、gcc.gnu.orgで詳しく説明されています。
コンパイラ以外のツールを考慮しながら、使用する拡張機能を決定することは、自分に合った答えを見つけるのに役立つ優れたアプローチです。
.cc
私が見つけたvs.cpp
情報を支援するために、以下を追加したかっただけです。以下は、さまざまな環境ごとに分類された拡張機能です (「C++ Primer Plus」ブックから)。
Unix の使用: .C
、.cc
、.cxx
、.c
GNU C++ の使用: .C
, .cc
, .cxx
, .cpp
,.c++
Clang の使用: .C
、.cc
、.cxx
、.cpp
およびモジュール インターフェイス.c++
用.cppm
Digital Mars の用途: .cpp
、.cxx
Borland C++ は以下を使用します。.cpp
ワトコムは以下を使用します: .cpp
Microsoft Visual C++ では .cpp
、 、.cxx
、.cc
および.ixx
モジュール インターフェイスにも使用されます。
Metrowerks CodeWarrior の使用 : .cpp
、.cp
、.cc
、.cxx
.c++
環境が異なれば、サポートされる拡張機能も異なります。私もこの質問に答えようとしていて、この投稿を見つけました。この投稿に基づいて、クロスプラットフォーム/クロスツールの認識を容易にするために、私は一緒.hpp
に行くかもしれないと思います..cpp
.cpp
私の知る限り、C++の推奨拡張機能です。.hpp
Cと区別するために、C++ヘッダーに使用することを推奨する人もいます。
コンパイラはあなたが何をするかを気にしませんが、それは個人的な好みです。
私は個人的に、実装ファイル、ヘッダー、およびインライン/テンプレートに.cc
拡張子を使用しています。.hh
.inl
前述したように、それは主に好みの問題です。
.cc
私が見た限りでは、. cpp
よりウィンドウっぽいようです。
- - 編集
前述のとおり、これは「私が見たもの」であり、間違っている可能性があります。私が取り組んできたすべての Windows プロジェクトが を使用.cpp
し、多くのオープン ソース プロジェクト (主に UNIX 系のもの) が を使用しているだけ.cc
です。
を使用したコーディング スタイルの例.cc
:
使用されるその他のファイル拡張子には、.cxx
および.C
(大文字のC)が含まれます。ビャーネ・ストロヴルプが.C
元々使っていたと思います。.cpp
はCプリプロセッサの名前なので、C++でも使用されていたのは残念です。
もう1つのオプションは、プラス回転45°であると想定される場合です.cxx
。x
Windows、Mac、Linuxはすべてサポート.c++
しているので、それを使用する必要があります。
.cc
何の意味もないと言っている人もいますか?かもしれない。C++ は「C with Classes」として誕生しました。
ほとんどの Unix システム (それぞれ cコンパイラーと c プリプロセッサー) のコマンド名でもあります.cc
。.cpp
私は.cpp
もっぱら使用していますが、Windowsで始めました。.cc
はむしろ Unix の慣習に近いものですが、そこにもますます少なくなっています。GNU make にはルールが.cpp
あるため、おそらくそれが好まれます。デフォルトでは、Windows とその他すべての両方で動作します。一方、最新の C++ ではヘッダーに拡張機能がまったく使用されていません。私のプロジェクトはすべてヘッダー ファイルに使用し、 and testing.h
を介して C と C++ の両方を可能な限りサポートしています。extern "C"
__cplusplus
プロジェクト/チームで使用されている規則に従ってください。
.cc
私が取り組んだプロジェクトで個人的に見たことはありませんが、すべての技術において、コンパイラーは気にしません。
誰が気にするのはあなたのソースに取り組んでいる開発者なので、私の経験則はあなたのチームが快適なものを使うことです。あなたの「チーム」がオープンソースコミュニティである場合は、非常に一般的なもの.cpp
を使用してください。その中で最も人気があるようです。
.cc 拡張子は、makefile 内で暗黙の規則を使用するために必要です。これらのリンクに目を通し、メイクファイルをよりよく理解しますが、.cc 拡張子の有用性が明確に示されているため、主に 2 番目のリンクを参照してください。
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
たった今、これを知りました。
ほとんどのスタイル規則と同様に、重要なことは 2 つだけです。
これらは矛盾しているように見えるかもしれませんが、それぞれ独自の理由で価値があります。
.C
.cc
私が見た(少数の)Unix指向のC++プログラムの標準のようです。私は常に.cpp
自分自身を使用してきました.Windowsでのみ実際に作業しており、それが永遠にWindowsの標準であったためです。
.cpp
「C Plus Plus」の略なので個人的にはオススメです。もちろん、ファイル拡張子が頭字語であることは非常に重要ですが、この理論的根拠が十分に説得力がないことを証明する場合、他の重要なことは、シフトキーを使用しないこと (.C
およびを除外.c++
) と、可能であれば正規表現のメタ文字を回避すること (除外する.c++
--残念ながら、もちろん回避することはできません.
。)
これは.cc
.
ソースとヘッダーにそれぞれ .C と .h を使用しました。この選択の良い点の 1 つは、コマンド ラインで*.[Ch]
すべてのコード ファイルを簡単に選択できることです。.C
大文字と小文字を区別しないファイルシステムでは使用が問題になる可能性がありますが、foo.c
とfoo.C
同じディレクトリにある場合は、とにかく得られるものに値します:)
これらの拡張機能のどれを使用するかは問題ではありません。好きな方を選んでください。名前の付け方に一貫性を持たせてください。この命名規則で私が知っている唯一の例外は、ファイルをコンパイルすることができなかったWinDDK
(または今ですか?)ということです。Linuxでは、それはほとんど問題ではありません。WDK
.cc