c# - 从 C# 调用非托管 .dll 的性能

标签 c# c++ interop unmanaged managed

使用以下语法从 C# 应用程序调用以 C++ 编写的 .dll 会增加多长时间的典型开销?

[DllImport("abc.dll", EntryPoint = "xcFoo", CallingConvention = CallingConvention.Cdecl)]
public extern static Result Foo(out IntPtr session,
                [MarshalAs(UnmanagedType.FunctionPtr)]ObjectCallback callback, 
                UInt64 turnKey,
                string serverAddress, 
                string userId, 
                string password);

有没有更有效的方法呢?

最佳答案

查看这篇关于如何提高互操作性能的文章。该做什么以及最好避免什么。

http://msdn.microsoft.com/en-us/library/ms998551.aspx

关于c# - 从 C# 调用非托管 .dll 的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2375622/

相关文章:

c# - 使用 Linq 同时查询两个集合

c# - C#中如何根据层级接口(interface)初始化对象

c++ - 当我单击文本框时发送 WM_Quit 消息

.net - 如何使用 .NET 为 C++ 应用程序创建接口(interface)?

c# - 如何通过 C++-CLI 回调和委托(delegate)将字符串从 C++-CLI 传递到 C#

c# - 如何让用户创建任务并设置任务运行的时间?

c# - 打印 Windbg 中所有数据表的所有表名

c++ - 额外的数字被附加到字符串,不知道为什么?

c++ - 如何在Linux下编译DEC UNIX v4.0应用程序源代码?

c# - 如何以编程方式检查电脑上是否存在 MS Excel?