gpt4 book ai didi

c++ - 使用从 DLL 导出的 MFC90 类和用 MFC100 构建的 DLL

转载 作者:行者123 更新时间:2023-11-30 04:24:31 28 4
gpt4 key购买 nike

如果以前有人问过这个问题,请原谅我,但我保证我已经广泛搜索但找不到任何东西(也许我只是想不出正确的搜索词)。

情况是这样的,我有一个基于 MFC90 的 DLL,它导出一个类(并在头文件中使用 MFC 对象,如 CStringPOSITION 等),我们称这个 DLL ONE 。由于我只能访问 VS2010,我仅限于在 MFC100 上构建基于 MFC 的 DLL 和应用程序,并且我有另一个 DLL,我们称之为 TWO,它使用从 DLL <导出的对象强>一个 。到目前为止它似乎工作正常,但我想知道在将使用 MFC100 构建的 DLL 链接到使用 MFC90 构建的 DLL 时我是否真的应该期待一些错误或奇怪的怪癖,或者这是否是一个微不足道的问题。


**注意事项**

  • 没有可以选择重建 DLL ONE
  • 我一直在寻找使用 VS2010 在 MFC90 上构建应用程序的免费选项,但我没有成功找到解决方案。我读到我可以简单地下载 Windows SDK 6.01,但是当我从 Microsoft 下载它时,里面没有 MFC 的踪迹。
  • 没有可以选择使用 VS2008(VS2008 Express 除外,它不随 MFC 提供)。
  • 这都是公司专有代码,因此我无法发布任何源代码。


**编辑**

  • 我应该提一下,DLL TWO 导出的函数将指向 DLL ONE 导出的类的指针作为参数。
  • 导出的类都不是从 MFC 对象派生的。导出的类仅使用 MFC 对象作为成员变量、成员函数参数或内部成员函数。我不能说这是 100% 的肯定,但我不相信这些类(class)使用了超过 CString 的任何东西。 , 或类似 POINT 的 POD 结构& POSITION .

最佳答案

如果源代码假设 DLL 本身是专有的(代码 + 使用的 MFC,或者只是一个或另一个),我想它们会像使用 Microsoft 自己提供的任何类型的 DLL 一样古怪。所以我确信这是微不足道的,根据我的经验,有人在它自己的 DLL 中为 WMPLib.DLL 编写了一个包装器,它的文件 API 不会导致任何潜在问题,但错误处理很糟糕,从 XP 到 vista 的可移植性7 不是问题,但在错误的时间传递错误的值才是问题。总而言之,我认为将内部函数编写得如何与 MFC 交互很重要。

关于c++ - 使用从 DLL 导出的 MFC90 类和用 MFC100 构建的 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12700993/

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