6

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?

3 Answers 3

10
  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);
    }
    
Sign up to request clarification or add additional context in comments.

Comments

5

Check out P/Invoke.

Calling Win32 DLLs in C# with P/Invoke

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

Comments

0

Just adding that pinvoke.net is a great wiki/resource for your Win32 needs.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.