Как вызвать неуправляемый код C / C ++ с веб-страницы C # ASP.NET - PullRequest
5 голосов
/ 06 апреля 2009

У меня есть веб-сайт ASP.NET, использующий C #, и я хотел бы вызывать функции из неуправляемой C / C ++ DLL. Как мне это сделать?

Ответы [ 3 ]

10 голосов
/ 06 апреля 2009
  1. создать неуправляемую dll:

    extern "C" __declspec(dllexport) __cdecl int sum(int a,int b); ---->
    
  2. создать пространство имен / класс для DllImport вышеупомянутой DLL

    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);
    }
    
5 голосов
/ 06 апреля 2009

Проверьте P / Invoke.

Вызов Win32 DLL в C # с P / Invoke

Если это COM dll, тогда вы можете использовать COM Interop

0 голосов
/ 03 июня 2010

Просто добавьте, что pinvoke.net - это отличный вики / ресурс для ваших нужд Win32.

...