是否可以从.NET语言(如C#)中调用C++代码(可能编译为代码库文件(.dll))?
具体来说,C++代码,如RakNet网络库.
我是C#的新手(过去一周才开始学习).
我有一个用C语言编写的自定义DLL,具有以下功能:
DLLIMPORT void test_function (double **test)
Run Code Online (Sandbox Code Playgroud)
我想要做的是从C#获得一个指针,用于数组'test'.
所以,如果在DLL函数中我有test [0] = 450.60,test [1] = 512.99等.我希望能够在我的C#程序中使用它.
在C#程序中,我有类似于:
namespace TestUtil
{
public class Echo
{
public double[] results = new double[10];
public double[] results_cpy = new double[10];
[DllImport("test_dll.dll", CallingConvention = CallingConvention.Cdecl)]
static extern unsafe void test_function(ref double[] Result);
public unsafe void Tell()
{
results[0] = 0.0;
results[1] = 0.0;
results_cpy[0] = 0.0;
results_cpy[1] = 0.0;
test_function(ref results);
results_cpy[0] = (double)results[0] + (double)results[1] ;
}
}
}
Run Code Online (Sandbox Code Playgroud)
在DLL的'test_function'函数中,我使用了以下内容:
*test[0] = 450.60;
*test[1] = …Run Code Online (Sandbox Code Playgroud)