简体   繁体   中英

How do I call unmanaged C/C++ code from a C# ASP.NET webpage

I have an ASP.NET website that uses C# and I'd like to call functions from an unmanaged C/C++ DLL. How do I do it?

  1. create an unmanaged dll:

     extern "C" __declspec(dllexport) __cdecl int sum(int a,int b); ----> 
  2. create a namespace/class to DllImport the above 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. create a aspx code behind

     using ImportDLL; namespace TEST { public int my_result; protected importdll imp = new importdll(); my_result = imp.myfun(1,1); } 

Check out P/Invoke.

Calling Win32 DLLs in C# with P/Invoke

If it's a COM dll, then you can use COM Interop

只需添加pinvoke.net可以满足您的Win32需求。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM