【发布时间】:2011-04-25 20:43:31
【问题描述】:
我希望使用 P/Invoke 允许我的 C# 程序集与本机 C 库进行互操作;这需要是跨平台的(即 Mono),因此不能使用混合模式程序集。我想知道使用不安全的 P/invoke 调用是否有任何性能优势,并在不安全的方法中处理所有指向指针的转换,而不是进行典型的“安全”P/Invoke 调用。提前致谢!
澄清: 正如here 所讨论的那样,我不打算使用托管 C++ 包装器。我只是想知道以下之间是否存在性能差异:
extern static void native_call_here(IntPtr parameter1, String parameter2)
和
extern static void native_call_here(int* parameter1, char* parameter2)
【问题讨论】:
-
感谢您的链接 - 我实际上是在发帖的路上调查过的。该用户要求 P/Invoke 调用和托管 C++ 包装器之间的性能差异。我正在寻找两种不同风格的 P/Invoke 之间的性能差异。
-
啊,没听懂,抱歉。很高兴它很有用。