这是一个简单的示例。从托管代码性能调用本机代码
CodeDLL.cpp文件:
extern "C" {
__declspec(dllexport) int __cdecl SimulateGameDLL (int a, int b) {
return a*b; // Calculation in native code
}
}
GameSharp.cs文件:
static class GameSharp
{
public static class UnsafeNativeMethods
{
const string _dllLocation = "CoreDLL.dll";
[DllImport(_dllLocation)]
public static extern int SimulateGameDLL(int a, int b);
}
}
或
static class GameSharp
{
public static class GameSharpClass
{
public static int SimulateGameDLL(int a, int b) {
return a*b; //Calculation in managed code
}
}
}
第一招:我有一个用C语言编写一个dll文件++本机代码,我尝试在托管代码中调用函数。(wrapper)
在第二个我已经将其转换为托管代码。 我的代码并不像这样简单。哪一个更好将我的C++本地代码转换为托管或将其称为托管代码。 哪一个更快?为什么?
如果这不明确,请告诉我,我会更多地讨论它。不要在告诉我之前投票结束。 :)谢谢
我想你忘了提到这个问题 – Constantinius 2011-05-14 15:32:09
创建一个控制台应用程序,将代码包装在一个秒表中,在很多迭代中执行它并重复整个事情两次。你得到了什么? – 2011-05-14 15:32:42
这是他的帖子的底部......“为什么?哪一个更快?” – gshauger 2011-05-14 15:32:50