GCCとCCコンパイラ
CCは、UNIXコンパイラコマンドに与えられた名前です。 これは、オペレーティングシステムのデフォルトのコンパイラコマンドとして使用され、同じコマンドで実行可能です。 一方、GCCはGNUコンパイラオペレーティングシステムです。 GNUおよびLinux上で動作するシステムでは、スクリプトがどちらかのコンパイラを互換的かつ簡単に使用できるように、CCがリンクであることが一般的 GNUコンパイラコレクションとCCコンパイラの使用に関しては、さまざまな違いが観察されています。 これらの違いは、一般的に二つの主要なグループにグループ化することができます。 これらのうちの1つはより具体的であり、もう1つのグループはより一般的です。
違い
二つの間の主な違いは、CコンパイラとC++コンパイラを扱います。 C++コンパイラはC++プログラムを受け入れますが、cでプログラムを任意にコンパイルしません。 多くのCプログラムが有効なC++プログラムではない場合でも、c++でよく理解できるサブセットにC言語コードを書くことができることが示されていますが、これは一般的に真実です。 一方、CコンパイラはCプログラムを受け入れますが、その中で実行されるほとんどのC++プログラムを拒否します。 この問題が発生する理由は、ほとんどのC++プログラムがCでは利用できないコンストラクトを実行しているためです。
これらのプログラム言語で利用可能なライブラリは、言語に大きく依存しています。 C++プログラムはCライブラリで実行できますが、これはプラットフォーム固有です。 一方、CプログラムはC++ライブラリを使用できないため、C++はCよりも大きなライブラリセットを使用する傾向があります。Solarisでは、コンパイラコマンドによって生成されるオブジェクトコードは、g++によって生成されるコードと互換性がありません。G++は2つの別々のコンパ 主な相違点は、例外処理と名前のマングリングです。 ただし、オブジェクトの互換性が相互にリンクされないようにするには、名前のマングリングが重要であることに注意することが重要です。 これは事実上、CCでコンパイルされたライブラリを使用するには、プログラム全体をCCでコンパイルする必要があるという事実を示しています。 また、CCでコンパイルされたライブラリとg++でコンパイルされたライブラリを使用する必要がある場合は、必要な機能を確保するためにライブラリの再コンパイルを行う必要があります。
生成されるアセンブラの品質では、GNUコンパイラコレクションであるGCCは、このタスクで非常に優れています。 しかし、ネイティブコンパイラは時々より良い動作をします。 Intelコンパイラは、GCCではまだ複製されていない徹底的な最適化を持っていると言えます。
両方のコンパイラは、標準言語とコンパイラがサポートする言語の間に小さな違いがあるにもかかわらず、現在の標準に新しいものです。 これらの標準は(C++98、C++2003、C99)です。 古いC89サポートは両方のコンパイラで利用可能であり、コンパイラが期待どおりにロールアウトするためには、期待される応答の理解が重要です。 すべてのGCCは、目的の結果を得るためにそれを行うことができる拡張と微調整のために、人生を楽にすることに焦点を当てているようです。
概要
CとC++コンパイラライブラリの相互互換性に問題があります。
C++プログラムはCライブラリで実行できますが、これはプラットフォーム固有です。
CCで構成されたライブラリを使用するには、GCCではなくCCでコンパイルするプログラム全体を必要とします。
CCとg++でコンパイルされたライブラリがある場合は、いずれかのライブラリを再コンパイルする必要があります。
GCCは、品質の高いアセンブリを作成する上で素晴らしい仕事をしています。
言語機能のCCとGCCの両方が、現在の標準との関係で優れています。