混合言語プログラムの作成をサポートするため、グローバル・エンティティーの名前をリンカーが解決できる外部名に変換するときには、XL Fortran は以下のような整合性のある一連の規則に従います。
下線で始まる名前はライブラリー・ルーチン名として予約されているため、下線は Fortran 外部名の最初の文字として使用しないでください。
Fortran の関数名と Fortran 以外の言語の関数名の競合を避けるため、 -qextname オプションを指定して Fortran プログラムをコンパイルできます。このオプションは、Fortran 名の最後に下線を追加します。その後、Fortran から呼び出したい Fortran 以外の言語のプロシージャーの最後の文字として下線を使用してください。
名前に大文字と小文字の両方を使用したい場合は、-U オプションまたは @PROCESS MIXED ディレクティブを使用することができます。
@process mixed external C_Func ! With MIXED, we can call C_Func, not just c_func. integer aBc, ABC ! With MIXED, these are different variables. common /xYz/ aBc ! The same applies to the common block names. common /XYZ/ ABC ! xYz and XYZ are external names that are ! visible during linking. end
別のシステムからアプリケーションを移植していて、このような命名競合をアプリケーションが検出する場合は、 -qextname オプションを使用しなければならないこともあります。あるいは、変更する名前があまり多くない場合には、-brename リンカー・オプションを使用して、シンボルの名前を変更することもできます。
xlf90 -brename:old_name,new_name interlanguage_calls.f