言語が混在したプログラミングのまとめ

言語が混在したプログラミングとは、ある言語のルーチンが、別の言語の関数、プロシージャー、またはサブルーチンを呼び出すことを指します。例えば、Fortran メインプログラムから、アセンブリー言語でプログラムされた特定のタスクを実行する場合や、既存の共有ライブラリーやシステム・プロシージャーを呼び出すような場合です。

言語が混在したプログラミングは、インテル® Fortran、Visual C/C++*、およびインテル® C++ で可能です。これは、これらの言語が、関数、サブルーチン、およびプロシージャーをほぼ同じ方法で実装しているからです。

インテル® Fortran には、C との互換性を保持するための、いくつかの Fortran 2003 の機能が含まれています。両方の言語で対応する宣言を記述できる場合は、互換性があるとみなされます。変数、派生型、プロシージャーの互換性が提供されています。

次の機能がサポートされています。

詳細は、「C との互換性保持」を参照してください。

Fortran と C/C++ プログラミングの注意事項

Fortran と C/C++ が混在したプログラミングの主なまとめは次のとおりです。

インテル® Fortran および C が混在したプログラムに関する詳細は、次の関連情報を参照してください。

Fortran とアセンブリー言語プログラミングの注意事項

Fortran とアセンブリー言語のまとめは次のとおりです。

その他の言語が混在したプログラミングの注意事項

言語間には、ほかにも重要ないくつかの相違点があります。例えば、プログラムが実行に失敗したり、誤った結果を生成することを防ぐには、どの 2 つの言語間でも、引数渡し、命名規則、およびその他のインターフェイス関連の問題を慎重に、また、一貫性のある形で調整しなければなりません。しかし、言語が混在したプログラミングには、一般にこの余分な作業を行うに足る利点があります。このセクションでは、Fortran と他の言語の違いを調整するために使用できる技術について説明しています。

次に示すトピックでは、呼び出し規則の調整、命令規則の調整、およびインターフェイス・プロシージャーの作成方法について説明しています。

言語が混在したプロシージャー間で一貫性のあるインターフェイスを作成した後は、個々のデータ型 (文字列、配列など) の処理方法の違いを調整する必要があります。詳細は、「言語が混在したプログラミングにおけるデータ交換と参照」を参照してください。各言語では、データ型の扱いが異なるため、注意が必要です。詳細は、「言語が混在したプログラミングにおけるデータ型の処理」を参照してください。

Note icon

このセクションでは、「ルーチン」という言葉を、各言語の関数、サブルーチン、およびプロシージャーを指す一般的な用語として使用しています。