c++ - 在 Outlook 2010 中使用 VC10 dll(outlook 插件)

标签 c++ visual-studio-2010 visual-studio-2008 outlook-addin

我在 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/

相关文章:

visual-studio-2008 - 无法在自动属性 setter 上设置断点?为什么?

c++ - 在 MSVC 中强制未对齐的位域打包

c++ - 操纵对 STL 容器中元素的引用(例如 vector )

c++ - 带有大小写范围的 Switch 语句,这可能吗?

c# - 我可以在 Visual Studio 2010 中查看以前保存的文件版本吗?

visual-studio-2008 - ZeroMQ 和 Visual C++ 2008 的链接器问题

c++ - 如何将 TCHAR 转换为 int

c++ - Windows WMI - Win32_ProcessStartTrace 和 __InstanceCreationEvent 之间的区别(和顺序)是什么?

c++ - 从 C++ 控制台应用程序上传 txt 文件

.net - C++/CLI 中的 Lambda 表达式