#include <stdio.h> #include <string.h>extern "C" __declspec (dllexport) int tcharparm (char* in,int len,char* Out) {memset (out,0,4); memcpy (Out,in,len); return 0;} extern "C" __declspec (dllexport) int tl_add (int a,int b) {return a+b;}
Set Path=c:\program Files (x86) \microsoft Visual Studio 11.0\vc\bin; C:\Program files (x86) \microsoft Visual Studio 11.0\common7\ide;set Include=c:\program Files (x86) \microsoft Visual Studio 11.0\vc\include\; C:\Program files (x86) \microsoft Sdks\windows\v7.0a\include\;set Lib=c:\program Files (x86) \microsoft Visual Studio 11.0\vc\lib\; C:\Program Files (x86) \microsoft Sdks\windows\v7.0a\lib\; C:\Program Files (x86) \ Windows kits\8.0\lib\win8\um\x86\;d el test.dllcl/c test.cpplink/dll test.objdel test.obj, Test.exp,test.libpause
C#
Using system;using system.collections.generic;using system.linq;using system.text;using System.Net.Sockets;using System.runtime.interopservices;using System.ComponentModel; Using System.Data; Using System.drawing;public class M{[dllimport ("Test.dll")] public static extern int Tcharparm (string iin, int len, string Builder oout); [DllImport ("Test.dll")] public static extern int Tl_add (int a,int b); static void Main (string[] args) {StringBuilder b = new StringBuilder (4); Tcharparm ("CDE", 3,b); Console.WriteLine (B.tostring ()); Console.WriteLine (Tl_add). ToString ());}}
Set Filename=m.exeset Cscfile=c:\windows\microsoft.net\framework\v4.0.30319\csc.exeif exist%fileName% del%fileName % @rempause%cscfile%/out:m.exe/recurse:*.cs/platform:x86m.exepause
C # Call DLL