我在 Windows 7(64 位)系统中安装了 MS Outlook 2010。 依赖项 walker 显示 outlook.exe 对 MSVCR90.dll 的依赖性。我使用VS2010开发环境开发了一个outlook加载项,因此我的加载项依赖于MSVCR100.dll。
问题是: 我可以使用 MS Outlook 2010(在某些 VC90 运行时中)将 dll 作为 outlook 加载项(在 VC100 运行时中开发)加载吗?我希望如果我开始使用 new/delete,运行时的混合和匹配可能会导致堆损坏。
最佳答案
它应该可以工作。在链接时,Outlook 使用了 MSVCR90.DLL 的导入库,这意味着它的新建和删除是根据该实现解析的,而你使用的是 MSVCR100.DLL 导入库,因此你的新建和删除是根据该实现解析的。
现在,如果 Outlook 曾试图将您的指针之一传递给它的 delete
,那么将会出现问题,但它不会。您可能通过 COM 与 Outlook 通信,这意味着跨边界分配通过 IAlloc
进行。
关于c++ - 在 Outlook 2010 中使用 VC10 dll(outlook 插件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20979334/