Oracle Developer Studio ソフトウェアには、次の機能を備えた C、C++、および Fortran コンパイラが付属しています。
C、C++、および Fortran プログラミング言語の最新の規格に準拠しています。
指定されたコマンド行オプションに従って、特定のオペレーティングシステム、プロセッサ、アーキテクチャー、メモリーモデル (32 ビットおよび 64 ビット)、浮動小数点演算などを対象とするコードを生成します。
シリアルソースコードに対して自動並列化を実行し、マルチコアシステムで強化されたパフォーマンスを発揮するバイナリを生成します。
アプリケーションおよび配備環境に合わせて、コマンド行オプションで指定できる方法で最適化されたコードを生成します。
ほかの Oracle Developer Studio ツールによるデバッグまたは解析を強化するためのバイナリを準備します。
これらの機能を指定するために、すべてのコンパイラで同じコマンド行オプションを使用します。
コンパイル済みのコードを最適化して速度を高め、プロセッサの命令セットおよび機能を最大限に活用するために使用できる Oracle Developer Studio コンパイラのオプションには、次のものがあります。
1 から 5 までの数にできる n によって示される最適化のレベルを指定します。最適化レベルが高いほど、実行時のパフォーマンスの高いバイナリが作成されます。
実行可能コードの速度を高めるために最適なコンパイルオプションの組み合わせを選択します。–fast は最大限の実行時パフォーマンスを得る目的で実行可能ファイルを調整するための出発点として、効果的に使用できます。
dbx によるデバッグおよびパフォーマンスアナライザによる分析のために、バイナリ内に追加情報を生成します。–g オプションを指定してコンパイルすると、注釈付きソース、関数情報、およびプログラムのコンパイル時にコンパイラが実行した最適化と変換について説明するコンパイラの注釈メッセージの表示など、パフォーマンスアナライザの機能を最大限に利用できます。
Oracle Developer Studio コンパイラは、コードの理解に役立つ情報をほかのコンパイラよりもはるかに多く提供します。最適化を行うと、コンパイラは、コードに対して実行した変換、並列化の障害、ループの繰り返しの実行回数などについて説明する注釈を挿入します。コンパイラの注釈は、パフォーマンスアナライザなどのツールで表示できます。
Oracle Developer Studio の C コンパイラは、『ISO/IEC 9899:2011, Programming Languages-C』、『ISO/IEC 9899:1999, Programming Languages-C』、および『ISO/IEC 9899:1990, Programming Languages-C』の各規格に準拠しています。C コンパイラは、OpenMP 4.0 共有メモリー並列化 API もサポートしています。
C コンパイルシステムはコンパイラ、アセンブラ、およびリンカーから構成されます。cc コマンドは、コマンド行オプションを使用して手順を別々に実行しないかぎり、これらのコンポーネントをそれぞれ自動的に起動します。
cc コマンドの構文です。
cc [compiler-options] source-files [-Ldir] [-llibrary]...
cc -flags と入力すると、可能なすべてのコンパイラオプションの短い説明を表示できます。
ソースファイル名は .c、.s、.S、または .i で終えることができます。名前がこれらの接尾辞のいずれかで終わらないファイルは、リンクエディタに渡されます。
–Ldir オプションを指定して、リンカーがライブラリを検索するようにリストにディレクトリを追加したり、–llibrary オプションを指定して、リンカーの検索ライブラリのリストにオブジェクトライブラリを追加したりすることもできます。–L オプションで指定されたディレクトリは、示されている順序で検索されます。
リンクエディタはデフォルトで、a.out という名前の動的にリンクされた実行可能ファイルを生成します。– o filename オプションを使用すると、別の実行可能ファイル名を指定できます。–c オプションを使用すると、ソースファイルをコンパイルし、オブジェクト (.o) ファイルを作成しますが、リンクしないでおくことができます。
test.c という名前のソースファイルをコンパイルして、a.out という名前の実行可能ファイルを生成するには:
% cc test.c
ソースファイル test1.c および test2.c をコンパイルして、test という名前の実行可能ファイルにリンクするには:
% cc -o test test1.c test2.c
2 つのソースファイルを別々にコンパイルして、それらを実行可能ファイルにリンクするには:
% cc -c test1.c % cc -c test2.c % cc test1.o test2.o
C コンパイラおよび cc コマンドとそのオプションの使用方法についての詳細は、Oracle Developer Studio 12.6: C ユーザーズガイドおよび cc(1) のマニュアルページを参照してください。新機能と変更された機能については、Oracle Developer Studio 12.6 リリースの新機能を参照してください。問題と回避策、およびコンパイラの制限事項と互換性の問題については、Oracle Developer Studio 12.6: リリースノートを参照してください。
Oracle Developer Studio C++ コンパイラ (CC) は、『ISO International Standard for C++, ISO/IEC 14882:2014, Programming Language - C++』、『ISO International Standard for C++, ISO IS 14822:2003, Programming Language - C++』、および『ISO International Standard for C++, ISO/IEC 14882:2011』をサポートしています。この CC コンパイラは、OpenMP 4.0 共有メモリー並列化 API もサポートしています。OpenMP 4.0 API は Oracle Developer Studio 12.6 に含まれています。
C++ コンパイラ (CC) は、指定されたコマンド行オプションに従って、特定のオペレーティングシステム、プロセッサ、アーキテクチャー、メモリーモデル (32 ビットおよび 64 ビット)、浮動小数点演算などを対象とするコードを生成します。コンパイラは、シリアルソースコードを自動的に並列化してマルチコアシステムでのパフォーマンスが向上するバイナリを生成するほか、ほかの Oracle Developer 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 Developer Studio 12.6: C++ ユーザーズガイドおよび CC(1) のマニュアルページを参照してください。新機能と変更された機能については、Oracle Developer Studio 12.6 リリースの新機能を参照してください。問題と回避策、およびコンパイラの制限事項と互換性の問題については、Oracle Developer Studio 12.6: リリースノートを参照してください。
Oracle Developer Studio の Fortran コンパイラは、マルチプロセッサシステム上の Oracle Solaris 向けに最適化されています。このコンパイラは、自動的かつ明示的なループ並列化を実行できるため、プログラムをマルチプロセッサシステム上で効率的に実行できます。
この Fortran コンパイラは、Fortran77、Fortran90、および Fortran95 規格との互換性を備え、OpenMP 4.0 をサポートしています。
f95 コマンドは、Oracle Developer Studio Fortran コンパイラを起動します。
f95 コマンドの構文です。
f95 [compiler-options] source-files... [-llibrary]
コンパイラオプションはソースファイル名より前に配置します。f95 -flags と入力すると、可能なすべてのコンパイラオプションの短い説明を表示できます。
ソースファイル名は、.f、.F、.f90、.f95、.F90、.F95、または .for で終わる 1 つまたは複数の Fortran ソースファイル名にする必要があります。
必要に応じて、ソースファイル名の後ろに –llibrary オプションを指定して、オブジェクトライブラリをリンカーの検索ライブラリのリストに追加できます。
2 つのソースファイルから Fortran プログラムをコンパイルするためのサンプルコード:
% f95 -o hello_1 foo.f bar.f
同じプログラムを別個のコンパイルおよびリンク手順でコンパイルするには:
% f95 -c -o bar.o bar.f % f95 -c -o foo.o foo.f % f95 -o hello_1 bar.o foo.o
同じプログラムをコンパイルして、libexample というライブラリにリンクするには:
% f95 -o hello_1 foo.f bar.f -lexample
Fortran 95 コンパイラおよび f95 コマンドとそのオプションの使用方法についての詳細は、Oracle Developer Studio 12.6: Fortran ユーザーズガイドおよび f95(1) のマニュアルページを参照してください。新機能と変更された機能については、Oracle Developer Studio 12.6 リリースの新機能を参照してください。問題と回避策、およびコンパイラの制限事項と互換性の問題については、Oracle Developer Studio 12.6: リリースノートを参照してください。