读书人

编译器内存布局的小疑点求解

发布时间: 2012-10-21 09:00:08 作者: rapoo

编译器,内存布局的小问题求解
假定有2个不同类型的编译器,分别是A,B,有个class C,在这2种编译器下C对象实例的大小和内存布局都不一样。现用A编译器编译出一个DLL,导出一个全局函数,在函数内部new一个C对象。
问题:分别用A和B编译出的应用程序加载这个DLL,调用这个导出的全局函数,生成的对象其大小和内存布局是一样的吗?


[解决办法]
Dll和APP使用相同的compiler/linker, 不用担心。如果DLL和APP使用不同的编译器,必须保证拥有相同的布局,可以使用PMP模式或针对接口编程。

读书人网 >C++

热点推荐