C++ での.cc ファイル拡張子と.cpp ファイル拡張子の違い
Linux や Windows などのさまざまなシステムで C++ を使用したことがある場合は、.cc
と .cpp
の両方のファイル拡張子に出くわしたことがあるはずです。インターネット上では、これらのファイル拡張子に違いはないと言っている多くの情報源を見つけるでしょう、そしてこれについては確かに多くの混乱があります。
この記事では、これらの C++ ファイル拡張子の微妙な違いと、それらの違いについて説明します。ただし、これら 2つのファイル拡張子の比較を開始する前に、まず、これら 2つのファイル拡張子の基本に関する情報を収集しましょう。
.cpp
ファイル拡張子
拡張子が .cpp
のファイルは、C++ のソースコードファイルです。これらのファイルは、ヘッダーファイルで宣言されたメソッドの定義があるため、実装ファイルとも呼ばれます。
このファイルは、C++ プロジェクトのインターフェースを実装から分割することを目的としています。このように、メンバー関数のすべての宣言はヘッダーファイルで行われ、その詳細は .cpp
ファイル内に保持されます。
.cpp
ファイルは、C++ アプリケーションを作成するための単純なファイルとして、またはクラス実装用のファイルとして使用できます。オブジェクト指向プログラミングの場合、クラス定義には .cpp
ファイルが使用されます。
このため、クラスのすべてのデータメンバーと関数はヘッダーファイル内で宣言されます。このファイルは、ファイルの先頭にある include
ステートメントのヘッダーファイルを参照します。
.cpp
ファイルは Windows オペレーティングシステムと互換性があります。一部の外部プログラムを使用すると、Linux および Mac オペレーティングシステムでも動作します。
.cc
ファイル拡張子
拡張子が .cc
のファイルは、C++ のソースコードファイルです。これには、単一のプログラムと、マシンコードにコンパイルされる関数を含めることができます。
これらのファイルは、Mac、Linux、および Windows オペレーティングシステムと互換性があり、これらのオペレーティングシステム上のさまざまなプログラムでサポートされています。
ファイル拡張子の完全なリストについては、this のドキュメントを参照してください。
C++ での .cc
と .cpp
ファイル拡張子の類似点
.cc
と .cpp
のファイル拡張子は同じではありませんが、どちらも C++ ファイル拡張子として使用されるため、関連しています。コンパイラーの場合、2つの間に違いはありません。
C++ コンパイラは、問題を発生させることなく、すべての C++ 拡張機能に自動的に取り組むことができます。GNU GCC コンパイラは、これらすべての拡張子を C++ ファイルと見なします:.cc
、.c
、.c++
、.cp
、.cxx
、.cpp
、.CPP
GCC を使用して呼び出す必要なしにそれらをコンパイルするための C++ コンパイル。
.cpp
は C++ の推奨ファイル拡張子ですが、何を使用するかについては個人的な好みです。また、プロジェクトのチーム全体に依存する可能性があり、ほとんど違いはありません。
プロジェクトがオープンソースに関連している場合は、コミュニティで一般的なもの、つまり .cpp
を使用することをお勧めします。これは、これら 2つのファイル拡張子がどのように関連しているかについてのすべてです。
それでは、待望の議論に飛び込みましょう。.cc
と .cpp
のファイル拡張子の違いです。
C++ での .cc
と .cpp
のファイル拡張子の違い
.cc
と .cpp
のファイル拡張子の違いは、さまざまな要因に基づいて要約できます。これらには、作業環境、オペレーティングシステム、古い規則、およびこれらのファイル拡張子の由来が含まれます。
以下は、これら 2つのファイル拡張子の違いのすべてのポイントです。
-
異なる環境は異なるファイル拡張子をサポートします。
.cc
ファイル拡張子は、主に Unix、GNU C++、Clang、Microsoft Visual C++、および Metrowerks CodeWarrior でサポートされています。一方、
.cpp
ファイル拡張子は、GNU C++、Clang、Digital Mars、Borland C++、Watcom、Microsoft Visual C++、および Metrowerks CodeWarrior でサポートされています。この種の互換性の違いは、クロスプラットフォームの認識に役立ち、コードを移植可能にします。 -
オペレーティングシステムもここで重要な役割を果たします。Unix および Linux の場合、規則は
.cc
ですが、Windows の場合は.cpp
です。.cc
ファイル拡張子は Linux/Unix システムでより一般的に使用されますが、.cpp
ファイルは.C
ファイル拡張子で問題が発生するため、主に Windows で使用されます。一方、macOS の場合、Xcode では.cpp
ファイル拡張子が優先されます。 -
これら 2つのファイルタイプの起源には、違いを生み出す何かがあります。当初、
.cpp
は C + plus の略であり、C++ ファイル拡張子として使用するのが論理的であるため、C++ ファイルの規則として採用されました。cpp
はその時点で C プリプロセッサとしてすでに存在していたため、cpp
ファイルを.i
ファイルと間違える可能性がありました(cpp
呼び出しの拡張)。そのため、当初、拡張子は.cc
に変更されました。時間の経過とともに、同義語の頭字語のため、
.cpp
のみが人気を博しました。 -
Linux や Unix と比較して、Windows が圧倒的に最も使用され人気のあるオペレーティングシステムであることは間違いありません。Linux および Unix システムよりも Windows が人気があるため、
.cpp
ファイル拡張子がより一般的に使用されます。 -
これら 2つのファイル拡張子を区別できるもう 1つの外部要因は、コードベースの使用です。たとえば、Google は
.cc
ファイル拡張子を使用しますが、LLVMlibc++ は.cpp
ファイル拡張子を使用します。
まとめ
この記事では、.cc
および .cpp
ファイル拡張子が、Unix、Mac、Windows などのさまざまなプラットフォームおよびオペレーティングシステムで C++ ファイルにどのように使用されるかを説明しました。また、これら 2つのファイル拡張子を区別するものと、それらを相互に関連付けるものについても説明しました。
繰り返しますが、必要に応じてファイル拡張子を選択するのは開発者次第です。これでこの記事は終わりです。