VTable 对齐(事实上,整个 VTable 系统)完全依赖于实现。您必须使用相同的编译器,使用相同的开关/设置进行编译,以便在链接后获得可用的程序。
因此,您无法将 msvc 生成的二进制文件与 MinGW 生成的二进制文件链接。即使你让表对齐相同,名称修改算法也是不同的,并且没有人说两个编译器会为 vtable 本身内的各个函数选择相同的顺序。
extern "C"如果您需要两个编译器之间的可移植接口,那么您必须使用具有标准化 ABI 的C(技术上是 )接口来实现。
| 归档时间: |
|
| 查看次数: |
300 次 |
| 最近记录: |