// 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 mangeling extern"C" { // Declare 2 functions DECLDIR int Add( int a, int b ); DECLDIR void Function( void ); } // End the inclusion guard #endif
测试程序的目录结构
测试代码c#
using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; namespace ConsoleApplication30 { class Program { staticvoid Main(string[] args) { test.Function(); Console.WriteLine("result: "+ test.Add(2, 3).ToString()); Console.ReadLine(); } } class test { [DllImport("..\\..\\lib\\DLLTest.dll")] publicstaticexternvoid Function(); [DllImport("..\\..\\lib\\DllTest.dll")] publicstaticexternint Add(int i,int j); } }