インテル® Fortran コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
アプリケーションには、C と Fortran の両方のソースファイルを含めることができます。Fortran で記述されたメインプログラム (myprog.for) から C で記述されたルーチン (cfunc.c) を呼び出す場合、次のコマンド行を使用してアプリケーションをビルドします。
Linux* および macOS*:
icc -c cfunc.c ifort -o myprog myprog.for cfunc.o
Windows*:
icl /c cfunc.c ifort myprog.for cfunc.obj /link /out:myprog.exe
icc または icl コマンド (インテル® C++ 用)、あるいは cl コマンド (Microsoft* Visual C++* 用) は、cfunc.c をコンパイルします。-c オプションまたは /c オプションは、リンカーを呼び出さないように指示します。このコマンドは cfunc.o (Linux* および macOS*) または cfunc.obj (Windows*) を作成します。
ifort コマンドは myprog.for をコンパイルし、作成されるオブジェクト・ファイルに cfunc.o (Linux* および macOS*) または cfunc.obj (Windows*) をリンクして実行ファイルを作成します。
さらに、Linux* および macOS* では、次のオプションがあります。
C++ ランタイム・ライブラリーを使ってリンクするようにコンパイラーに指示するには、-cxxlib コンパイラー・オプションを使用します。デフォルトでは、C++ ライブラリーは Fortran アプリケーションとリンクされていません。
C++ 例外処理テーブルの生成を有効にするには、-fexceptions コンパイラー・オプションを使用します。これにより、コールスタックで Fortran ルーチンへの呼び出しがあった場合、C++ プログラムが C++ 例外を処理できます。このオプションは、C++ の例外処理中に必要なオブジェクト・ファイルに追加情報を加えます。デフォルトでは、Fortran と C++ が混在するアプリケーションは、C++ の例外がスローされると、Fortran コードでアボートします。
main() エントリーポイントを含む C/C++ プログラムでインテル® Fortran サブプログラムを呼び出す場合は、次のように -nofor_main コンパイラー・オプションを使用します。
icc -c cmain.c ifort -nofor_main cmain.o fsub.f90
Windows* オペレーティング・システムにおけるインテル® Fortran プログラムと C++ プログラムのコンパイルとリンク、および使用するライブラリーに関する詳細は、「一貫性のあるライブラリー形式の指定」を参照してください。