Oracle Solaris Studio C++ コンパイラ (CC) は、ISO International Standard for C++, ISO/IEC 14882:2011, Programming Language — C++ および ISO International Standard for C++, ISO IS 14822:2003, Programming Language — C++ をサポートしています。この CC コンパイラは、OpenMP 4.0 共有メモリー並列化 API もサポートしています。OpenMP 4.0 API は Oracle Solaris Studio 12.4 に含まれています。
C++11 のサポートの詳細は、Oracle Solaris Studio 12.4 リリースの新機能 のC++11 標準のサポートを参照してください。
C++ コンパイラ (CC) は、指定されたコマンド行オプションに従って、特定のオペレーティングシステム、プロセッサ、アーキテクチャー、メモリーモデル (32 ビットおよび 64 ビット)、浮動小数点演算などを対象とするコードを生成します。コンパイラは、シリアルソースコードを自動的に並列化して、マルチコアシステムでよりよいパフォーマンスとなるバイナリを生成したり、ほかの Oracle Solaris Studio ツールによる拡張されたデバッグまたは分析のためのバイナリを準備することもできます。このコンパイラは GNU C/C++ 互換性機能もサポートしています。
C++ コンパイラは、フロントエンド、オプティマイザ、コードジェネレータ、アセンブラ、テンプレートのプリリンカー、リンクエディタから構成されています。CC コマンドは、コマンド行オプションでほかの指定をしないかぎり、これらのコンポーネントをそれぞれ自動的に起動します。
CC コマンドの構文です。
CC [compiler-options] source-files [-Ldir] [-l library]...
CC -flags と入力すると、可能なすべての CC コンパイラオプションの短い説明を表示できます。
ソースファイル名は .c、.C、.cc、.cxx、.c++、.cpp、または .i で終えることができます。名前がこれらの接尾辞のいずれかで終わらないファイルは、オブジェクトファイルまたはライブラリとして扱われ、リンクエディタに渡されます。
必要に応じて、ソースファイル名の後ろに –Ldir オプションを指定して、リンカーがライブラリを検索するリストにディレクトリを追加したり、–llibrary オプションを指定して、リンカーの検索ライブラリのリストにオブジェクトライブラリを追加できます。–L オプションは、コマンド行で、関連付けられているライブラリより前にある必要があります。
デフォルトでは、ファイルは指定された順序でコンパイルおよびリンクされ、a.out という名前の出力ファイルが生成されます。– o filename オプションを使用すると、別の実行可能ファイル名を指定できます。–c オプションを使用すると、ソースファイルをコンパイルし、オブジェクト (.o) ファイルを作成しますが、リンクしないでおくことができます。
test.C という名前のソースファイルをコンパイルして、a.out という名前の実行可能ファイルを生成するには:
% CC test.c
2 つのソースファイル test1.c および test2.C を別々にコンパイルしてから、それらを test という名前の実行可能ファイルにリンクするには:
% CC -c test1.c % CC -c test2.C % CC -o test test1.o test2.o
C++ コンパイラおよび CC コマンドとそのオプションの使用方法についての詳細は、Oracle Solaris Studio 12.4: C++ ユーザーズガイド および CC(1) のマニュアルページを参照してください。新機能および変更された機能については、Oracle Solaris Studio 12.4 リリースの新機能 を参照してください。問題と回避策、およびコンパイラの制限事項と互換性の問題については、Oracle Solaris Studio 12.4: リリースノート を参照してください。