名前

ヘッダーの各種標準で定義される ID (関数名、マクロ、型) は予約されています。以下のものも予約済みです。 この資料で定義したもの以外の目的で、これらの予約 ID を使用しないでください。

ISO C 以外のすべての ID は、ユーザーのネーム・スペース から構成されます。ユーザーは、これらの名前を自由に使用できます。ただし、z/OS® XL C/C++ ランタイム・ライブラリーの名前のいくつかは、ユーザーのネーム・スペースと重複します。分かりやすく覚えやすい名前を提供すること、あるいは業界定義の名前、例えば、fetchep()、pthread_cancel() などをサポートすることを意図した結果、このようになっています。ヘッダー・ファイルによりこれらの名前は予約名に変更され、そしてこれらは、通常はオペレーティング・システム固有の外部エントリー・ポイント名にマップされます。

ユーザーのネーム・スペースにある z/OS XL C/C++ ランタイム・ライブラリー内の名前を定義されたとおり使用したい場合は、該当するヘッダーをインクルードしてください。該当するヘッダーによってユーザー固有の private 名と一致する他の名前が導入されるため、そのヘッダーをインクルードすることができないが、それでもなおヘッダーに定義された関数の一部を使用したい場合、関数の予約内部名によりこれらの関数を参照することができます。これらの予約名は固有で、8 文字以内で、通常は 2 つの 下線で始まります。

IBM® z/OS XL C/C++ コンパイラーは、ソース・コードの外部 ID の下線と小文字を、すべて、オブジェクト・デックの「@」文字と上段シフト文字に自動的にマップします。このため、stdlib.h ヘッダーをインクルードしないで fetchep() 関数を参照するには、外部エントリー・ポイントの @@FTCHEP にあとで自動的にマップされる予約内部名の、__ftchep() を使用できます。C++ 関数の場合、extern “C” として関数を宣言することにより、C リンケージを確保する必要があります。

このようにマップされる関数には、この章の関数説明の「外部エントリー・ポイント」の見出しの下に記載された外部エントリー・ポイントがあります。

外部名についての詳細は、「z/OS XL C/C++ ランゲージ・リファレンス」の以下の トピックを参照してください。
z/OS XL C/C++ ユーザーズ・ガイド」の以下の トピックも参照してください。

外部名についての詳細は、「z/OS XL C/C++ プログラミング・ガイド」の『環境変数の使用』の『命名規則』を参照してください。