2

我想将应用程序的插件编译为动态库。通常,插件是用 VisualC++ 编译的,但我想用 G++。SDK 文档明确指出

在 C++ tab/C++ 语言 (/vmg /vms) 中,Pointer-to-member 表示的编译器选项必须设置为“General-Purpose Always”和“Point to Single-Inheritance Classes”。如果不设置插件立即崩溃!

事实上,只要我将值从插件传递到应用程序,它就会立即崩溃。/vmg /vms是否有任何选项导致与VisualC++中相同的行为?


平台:Windows 7 x64
编译器:MingW32 G++ 4.6.2

4

1 回答 1

4

由于指向成员的表示是一个实现细节,而且 GCC ABI 的设计不是为了与 MSVC 兼容,所以永远不会有等价物。

只要工作取决于特定于实现(未指定)的细节,如指针表示,您将无法混合使用所述编译器编译的二进制文件。

于 2012-07-04T18:22:45.253 回答