2013-09-03 11 views
61

.cc.cppのファイル拡張子の違いは何ですか?.ccと.cppのファイルサフィックスの違いは何ですか?

Googleからは、どちらもC++言語のものであることがわかりましたが、私はそれらの違いが不明です。

+27

'.cpp'は1文字長くなります – Prix

+4

追加のボーナスとして、' .cp'、 '.C++'、 '.cxx'、' .C'もあります。 – Hasturkun

+0

LinuxカーネルはCで書かれているので、それらの '.cc'ファイルはC++であったのでしょうか? – user4815162342

答えて

95

表記規則。

これまで、C++ソースファイルのサフィックスは.Cでした。 これは、最初にC++がファイル名に大文字小文字の区別がないシステムに を移植したときに、いくつかの問題を引き起こしました。 .cc.cpp.cxxそしておそらく他の人:

異なるユーザはさまざまなソリューションを採用しました。今日、Unix以外の世界 は、ほとんどが.cppです。 Unixはより多くの場合、.ccを使用しているようです。ヘッダの

、状況はさらに混乱です:どんな の理由から、最古のC++の著者は、CのためにとC++のためのヘッダ間 を区別しないことに決めた、と.hを使用。

にプロジェクトにはCが存在しない場合、これは問題が発生することはありませんが、あなたは、両方に対処することを開始 とき、それは通常は良いでしょうが(Cで使用することができますヘッダを区別.h ) とできないもの(.hhまたは.hpp)。

さらに、C++では多くのユーザー(自分自身を含む)がテンプレート ソースとインライン関数を別々のファイルに保存することをお勧めします。 は、厳密にはヘッダーファイルですが、 の規則(.inl,.tcc、おそらく多くは など)を取得する傾向があります。

ヘッダーの場合、コンパイラーとはまったく違いはありません。

ソースファイルの場合、エンディングが異なると、コンパイラは異なる 言語を想定します。しかし、これは通常上書きすることができ、VC++がC++として認識するまでに、VC++との間に.cc を使用しました。

13

違いはありません。それらはまったく同じです。

+0

どのような照合をしていますか?確かにこれはデンマーク語です:) – sehe

2

実際は、あなたとあなたのコンパイラが好むものに依存します。それらの間に全く違いはありません。

7

技術的にはコンパイラに違いはありません。しかし、コンパイラやビルドシステムの中には、拡張子に基づいてファイルをコンパイルする方法を推測するものがありますが、 "cc"(または "cpp"は検出できないかもしれませんが)はC++ファイルとして検出される場合もあります。