so_import ディレクティブ
構文
so_import symbol [-> alias][,symbol...];
パラメータ
| インポートされるシンボルの名前。 |
| 共有オブジェクトにインポートするシンボルの名前。次の2つのワイルドカードが使用できます。
|
説明
このディレクティブまたは--so_importリンカオプションを使用して、共有オブジェクトからシンボルをインポートします。
‑‑so_importリンカオプションは、名前付きシンボルのみをインポートできます。このディレクティブにより、シンボルを別の名前でインポートできるようになり、シンボルの名前にワイルドカードを使用できるようになります。
デフォルトでは、共有オブジェクトで定義されていないシンボルが共有オブジェクトで使用されている場合、リンカはエラーを生成します。指定したシンボルを許可するには、このオプションを使用します。これらのシンボルは、共有オブジェクト内で外部として宣言されます。これにより、共有オブジェクトがアクセスできるシンボルを正確に制御できます。
すべてのインポートしたシンボルを1つずつ指定せずに共有オブジェクトの外部シンボルにするには、--so_importオプションは使用しないで、--diag_suppressオプションを使用してリンカエラーを抑制します。
例
so_import myExternal;
定義されていない外部のmyExternalが使用できるようになります。
so_import myImport -> somebodysExport;
これは、シンボル myImport が somebodysExport という名前で未定義の外部として共有オブジェクトにインポートされます。(somebodysExport は共有オブジェクト内で使用される名前、myImport は共有オブジェクトの外部のだれもが見える名前です。)
so_import jpg*;
jpgで始まる定義されていない外部のものを許可します。