当前位置:编程学习 > C#/ASP.NET >>

C#中调用C++编写的dll问题

1. C#中调用C++编写的dll,能不能去实例化这个dll中的类,或者说如何通过这个类调用这个类中的静态方法
例子
extern "C" {
class __declspec(dllexport)  MRT
{
public : 
static int Init();
static int Login(UserInfo *uinfo);
static int check();
static int QueryManualTask();
           };
          };

在C#中如何调用dll中这些方法。 --------------------编程问答-------------------- 有两种办法:
1、托管C++,你先在的dll不需要做任何变动!
2、把C++这边全部改造成API的函数! --------------------编程问答--------------------

using System.Runtime.InteropServices;


namespace Cool
{
    class Test
    {
      [DllImport("/*dllname*/.dll")]
      public static extern int Init();
    }
    
    class BmpControl
    {
       //需要调用Init的位置
        Test.Init();
    }
}

dll中函数多的话、如上代码清弄一个类
如果用到的函数少、哪个位置用、哪个位置直接DllImport就可以 --------------------编程问答--------------------
引用 2 楼 bcy7783 的回复:
C# code

using System.Runtime.InteropServices;


namespace Cool
{
    class Test
    {
      [DllImport("/*dllname*/.dll")]
      public static extern int Init();
    }
    
    class Bmp……

顺便问个问题,DLLIMPORT的时候,dll的相对路径怎么设置的,如果是website程序的话 --------------------编程问答--------------------
引用 3 楼 pear_2268 的回复:
引用 2 楼 bcy7783 的回复:
C# code

using System.Runtime.InteropServices;


namespace Cool
{
class Test
{
[DllImport("/*dllname*/.dll")]
public static extern int Init();
}

class Bmp……

顺便问个问……

N天没来对不起观众了
web没调过、我做的winform、不过想来也差不多、将dll注册到本机就OK、不需要路径的
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,