6

C#を使用するASP.NET Webサイトがあり、アンマネージC / C++DLLから関数を呼び出したい。どうすればいいのですか?

4

3 に答える 3

10
  1. 管理されていないdllを作成します。

    extern "C" __declspec(dllexport) __cdecl int sum(int a,int b); ---->
    
  2. 上記のDLLをDllImportする名前空間/クラスを作成します

    using System.Runtime.InteropServices;
    namespace ImportDLL
    {
    public class importdll
    {
    public importdll()
    {
    }
    
    DllImport("mysum.dll",
              EntryPoint="sum",
              ExactSpelling=false,
              CallingConvention = CallingConvention.Cdecl)]
    public extern int myfun(int a, int b);
    }
    }
    
  3. 背後にaspxコードを作成する

    using ImportDLL;
    namespace TEST
    {
     public int my_result;
     protected importdll imp = new importdll();
     my_result = imp.myfun(1,1);
    }
    
于 2009-04-06T01:33:09.937 に答える
5

P/Invokeをチェックしてください。

P / Invokeを使用してC#でWin32DLLを呼び出す

COM dllの場合は、COM相互運用機能を使用できます

于 2009-04-06T01:31:19.473 に答える
0

pinvoke.netを追加するだけで、Win32 のニーズに対応する優れた wiki/リソースになります。

于 2010-06-03T14:52:43.790 に答える