次の方法で共有


インライン C++ を定義すると、 dllexport と dllimport に機能します

Microsoft 固有の仕様 →

インラインで dllexport の属性で定義できます。この場合プログラム内のモジュールは関数を参照する場合も常にインスタンス化されエクスポートします。関数はほかのプログラムからインポート推論されます。

この関数は dllimport の属性で宣言したインラインで定義できます。この場合関数 (/Ob の指定に従って配置されインスタンス化できません。特にインラインでインポートされた関数のアドレスが多すぎるDLL にある関数のアドレスを返します。この動作は同じでインラインでインポートされた関数のアドレスを取得します。

これらの規則はシグネチャがクラス定義内に出現するインライン関数に適用されます。またインライン関数の静的なローカル データと文字列は一つのプログラム (つまりDLL インターフェイスで実行可能ファイル) で DLL とクライアント間で同じ ID を保持します。

インポート インライン関数を使用する場合は注意を実行します。たとえばDLL を更新するとクライアントは DLL の変更されたクラスを使用するとは限りません。DLL の適切なバージョンを読み込むことを確認するにはDLLクライアントを再ビルドします。

参照

関連項目

dllexport、 dllimport