/MD 和 /MT 运行时库之间的编组
Posted
技术标签:
【中文标题】/MD 和 /MT 运行时库之间的编组【英文标题】:Marshalling Between /MD and /MT Runtime Libraries 【发布时间】:2014-01-06 05:18:42 【问题描述】:我有第三方库,分别编译为 /MTd
和 /MT
。这些无法更改。我正在使用 MT
dll 使用它们。
我如何跨越边界进入/MD
dll 领域以满足/CLI
的要求并希望从C# 调用这些第三方库?
【问题讨论】:
【参考方案1】:相当简单:COM 风格。也就是说,不要假设你可以传递 C++ 类型(因为 C++ 库不同),而是使用原生 COM 机制传递所有数据,例如 BSTR
/_bstr_t
。
【讨论】:
以上是关于/MD 和 /MT 运行时库之间的编组的主要内容,如果未能解决你的问题,请参考以下文章
一文带你弄懂Visual Studio:运行时库及MT/MTDMD/MDD