【发布时间】:2010-05-09 14:06:22
【问题描述】:
我有一组 C++ 数值库,我想用 F# 或 IronPython 等解释性语言交互地调用它们。
所以我现在有两个选择:
在本机 DLL 中编译库并使用 PInvoke 调用其中的函数。
使用 Visual c++(/clr:pure compile option)将 C++ 库编译为 .Net dll。
1 的优点是速度非常快,但是其中有更多的工作,例如我不能 PInvoke 双指针(例如 float **),我必须在 C++ 库中编写另一个包装器以使接口对 .Net 友好。
2 的优点是我不需要知道混编字符串、数组等。但是,.net dll 与本机相比要慢一些。
在两者之间进行选择时还应考虑哪些其他因素?
【问题讨论】: