gpt4 book ai didi

visual-studio-2010 - 用VS2008建的dll可以用用VS2010建的dll吗

转载 作者:行者123 更新时间:2023-12-01 15:22:16 25 4
gpt4 key购买 nike

我有一个用 VS2010 构建的 dll (DLL A),它使用 MFC 和其他用 VS2010 构建的 dll。我有另一个用 VS2008 构建的 dll (DLL B),它运行在一个再次用 VS2008 构建的应用程序上。 DLL A 导入 DLLB(使用#import 指令)并创建 com 对象。对象本身的创建成功,但应用程序在某处崩溃。我认为它在显示控件时崩溃(这些只是假设)。问题是我没有应用程序的源代码。 DLL A 只是该应用程序的一个插件。问题是,做这样的混音有什么需要考虑的吗?有可能吗?

最佳答案

是的,如果您使用 C 链接,跨 DLL 边界调用代码应该没问题,即。如果 DLL 边界使用原始 C 类型,如 char* 和 int。如果您要跨 DLL 边界传递 C++ 引用/指针,您实际上应该使用相同的编译器标志和相同的编译器来构建双方。例如,无法保证 VS2010 编译器会以与 VS2008 编译器完全相同的方式为类对象布局内存 尽管如果您使用相同的字节对齐标志,布局很可能是相同的,但您不能保证.

关于visual-studio-2010 - 用VS2008建的dll可以用用VS2010建的dll吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13475493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com