C#调用C/C++ dll文件 的简单示例

测试环境:VS2010 windows7

1.文件->新建项目,选择win32 控制台程序,输入项目名称dll_test,然后点击确定

2.

3.点击下一步

4.选择dll 点击完成 ,点击dll_test.cpp 文件



extern "C"  __declspec(dllexport) int add(int a,int b);
int add(int a,int b)
{
	return a+b;
}

说明:(这里是.cpp 文件不是.c 文件,所以要加extern “C”) __declspec(dllexport)这里语法规定。至于dllmain.cpp 文件下的DllMain,这里可以不必理会。具体可以查看MSDN。

4.按上面要求编写程序,点击生成

5.可以看到生成成功



6这样我们的dll文件就生成成功了。可以在项目Debug文件夹下查看dll文件



可以使用depends 这个工具来查看dll文件的函数情况,在File->openfile 打开你的dll文件,可以看到Function为add与我们写的一样,如果不一样,说明dll有问题。


7.再建立一个C# 选择Windows 窗体应用程序,点击确定

8. 将刚刚生成的dll文件放到bin目录下的Debug文件下(注意不要放错了,放错会提示找不到),


[DllImport("dll_test.dll",EntryPoint = "add",CallingConvention = CallingConvention.Cdecl)]

   public static extern int add(int a, int b);

注意: public static extern 的写法,后跟的你要导入函数返回值以及函数名。

第一参数表示要加载的dll文件名

EntryPoint 表示函数入口点,即:函数名

使用DllImport 需要在程序上面添加 :using System.Runtime.InteropServices;

这里就可以再C#中调用C/C++的dll文件了。

9 运行程序:



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值