C#调用非.net的dll

来源:互联网 发布:万网域名转移密码 编辑:程序博客网 时间:2024/05/22 10:23

在。net之前,已经聚集了好多功能丰富且完整的动态链接库,如果不能把他们加到.net中来用,将是一个很大的损失。

以下是用vc++6.0开发的一个简单dll,具体如下:

1.新建一个 Win32 Dynamic-Link Library 工程(即倒数第二个),名:TestDll
2.选择第一个: An empty Dll project
3.新建Test.cpp和Test.h

Test.h代码如下:

#ifndef  TEST_H
#define TEST_H
extern int __declspec(dllexport) Add(int x,int y);
#endif

Test.cpp代码如下:

#include "Test.h"
int  Add(int x,int y)
{
  return x+y;
}

然后按Ctrl+F5,会弹出一个对话框,按取消即可。

至此,我们已经生成了一个TestDll.dll文件了,现在我们把它放到D盘的直接目录下。

由于是普通的调用外部dll,所以为了方便起见,我们在vs2005创建一个Console项目。

下面是Program.cs的代码清单:

using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace Test
{
  class Program
  {
      [DllImport(@"D:/TestDll.dll")]     //导入dll路径
     public static extern int Add(int a,int b);//声明要调用的函数接口
    static void Main(string[] args)
   {
      Console.WriteLine(Add(1,2));
   }
 
  }
}

结果输出:3。

原创粉丝点击