2

アプリケーションのプラグインを動的ライブラリとしてコンパイルしたいと考えています。通常、プラグインは VisualC++ でコンパイルされますが、G++ を使用したいと考えています。SDKドキュメントには明示的に記載されています

メンバーへのポインター表現のコンパイラ オプションは、C++ タブ/C++ 言語 (/vmg /vms) で "汎用常に" および "単一継承クラスを指す" に設定する必要があります。設定されていない場合、プラグイン即座にクラッシュします!

実際、プラグインからアプリケーションに値を渡すとすぐにクラッシュします。/vmg /vmsVisualC++と同じ動作になるオプションはありますか?


プラットフォーム: Windows 7 x64
コンパイラ: MingW32 G++ 4.6.2

4

1 に答える 1

4

メンバーへのポインター表現は実装の詳細であり、GCC ABI は MSVC の表現と互換性があるように設計されていないため、同等のものはありません。

動作がポインター表現のような実装固有の (未指定の) 詳細に依存している限り、上記のコンパイラーでコンパイルされたバイナリーを混在させることはできません。

于 2012-07-04T18:22:45.253 に答える