/ Inclusion guard#ifndef _DLLTUT_DLL_H_#define _DLLTUT_DLL_H_// Make our life easier, if DLL_EXPORT is defined in a file then DECLDIR will do an export// If it is not defined DECLDIR will do an import#if defined DLL_EXPORT#define DECLDIR __declspec(dllexport)#else#define DECLDIR __declspec(dllimport)#endif// Specify "C" linkage to get rid of C++ name mangelingextern "C"{ // Declare 2 functions DECLDIR int Add( int a, int b ); DECLDIR void Function( void ); DECLDIR void GetPRt( char * prtStr );}// End the inclusion guard#endif static void Main(string[] args) { test.Function(); Console.WriteLine("result: " + test.Add(2, 3).ToString()); //string str = "aaddddddddddd"; byte[] str = new byte[12]; test.GetPrt(ref str[0]); Console.WriteLine(System.Text.Encoding.GetEncoding("GB2312").GetString(str)); Console.ReadLine(); } } class test { [DllImport("..//..//lib//DLLTest.dll")] public static extern void Function(); [DllImport("..//..//lib//DllTest.dll")] public static extern int Add(int i,int j); [DllImport("..//..//lib//DllTest.dll")] public static extern void GetPrt(ref byte prtStr); }