次の方法で共有


インライン関数のインポートとエクスポート

インポート関数は、インラインで定義できます。 その効果は普通の関数をインラインで定義するのとほぼ同じで、関数の呼び出しはマクロと同様にインライン コードに展開されます。 この方法は、インライン展開によってメンバー関数の効率が上がる可能性がある C++ クラスで DLL をサポートする場合に特に効果的です。

インポート インライン関数の特長の 1 つは、C++ でそのアドレスを取得できることです。 コンパイラは、DLL に存在するインライン関数のコピーのアドレスを返します。 インポート インライン関数のもう 1 つの特長は、グローバルなインポート データと違って、インポート関数の静的なローカル データを初期化できることです。

ヒント

インポート インライン関数は、DLL のバージョン間で矛盾することがあるので、インライン関数のインポート時は注意が必要です。 インライン関数は、アプリケーション コード内に展開されます。このため、関数を書き直した場合は、アプリケーション自体をコンパイルし直さないと、インライン関数は更新されません。 通常、DLL 関数は、関数を使うアプリケーションをビルドし直さなくても更新できます。

目的に合ったトピックをクリックしてください

参照

概念

インポートとエクスポート