VisualC ++ / vmg / vms的G ++等价物

时间:2012-07-04 16:16:15

标签: windows visual-c++ g++ pointer-to-member

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

  

指针到成员表示的编译器选项必须在C ++选项卡/ C ++语言中设置为“通用始终”和“指向单继承类”(/ vmg / vms )。如果没有设置,插件立即崩溃!

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


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

1 个答案:

答案 0 :(得分:4)

由于指向成员的表示是一个实现细节,并且GCC ABI的设计与MSVC不兼容,因此永远不会有等效的。

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