我想将应用程序的插件编译为动态库。通常,插件是用VisualC ++编译的,但我想使用G ++。 SDK文档明确声明
指针到成员表示的编译器选项必须在C ++选项卡/ C ++语言中设置为“通用始终”和“指向单继承类”(/ vmg / vms )。如果没有设置,插件将立即崩溃!
事实上,只要我将插件中的值传递给应用程序,它就会立即崩溃。是否有任何选项导致与VisualC ++中的/vmg /vms
相同的行为?
平台:Windows 7 x64
编译器:MingW32 G ++ 4.6.2
答案 0 :(得分:4)
由于指向成员的表示是一个实现细节,并且GCC ABI的设计与MSVC不兼容,因此永远不会有等效的。
只要工作依赖于特定于实现(未指定)的详细信息(如指针表示),您将无法混合使用所述编译器编译的二进制文件。