C#从非托管C ++ DLL导入功能
示例
这是如何导入在非托管C++DLL中定义的函数的示例。在C++源代码“MYDLL.DLL”,该函数add被定义为:
extern "C" __declspec(dllexport) int __stdcall add(int a, int b)
{
return a + b;
}然后,它可以包含到C#程序如下:
class Program
{
//这条线将导入C++方法。
//在DllImport属性指定的名称必须是DLL名称。
//参数的名称并不重要,但类型必须是正确的。
[DllImport("myDLL.dll")]
private static extern int add(int left, int right);
static void Main(string[] args)
{
//该方法的extern可以调用,就像任何其他C#方法。
Console.WriteLine(add(1, 2));
}
}见调用约定和关于为什么C++名字改编的解释extern"C"和__stdcall是必要的。
查找动态库
当第一次调用该方法的extern的C#程序将搜索并加载相应的DLL。有关搜索哪里可以找到DLL,以及如何影响更多的信息,搜索位置看到这个计算器的问题。
热门推荐
6 保研的祝福语简短
10 年轻20岁祝福语简短
11 朋友结婚祝福语信息简短
12 女孩婚礼贺卡祝福语简短
13 30段点歌简短祝福语
14 虎年春节祝福语图文简短
15 写给后妈祝福语大全简短
16 简短回复生日祝福语
17 校长送毕业祝福语简短
18 毕业立体贺卡祝福语简短