更改保留字-#define
#define 取代保留字名稱 要取代之保留字
像是#define Dll_Out _declspec(dllexport) 便是將_declspec(dllexport) 以 Dll_out取代
以前篇"visual studio 2005 c++製作dll (for C#)"為例
***************************************************
//原code
extern "C" _declspec(dllexport) int plus(int);
int _declspec(dllexport) plus(int a)
{
int b = a+a;
return b;
}
--------------------------------------------------------------------------
//更改後
#define ECD extern "C" _declspec(dllexport)
ECD int plus(int);
int _declspec(dllexport) plus(int a)
{
int v = a+ a;
return v;
}
****************************************************
將原DLL中方法以不同名稱使用-EntryPoint
EntryPoint = "方法名稱"
static extern int 新方法名稱(資料型態 資料變數);
-----------------------------------------------------------
//原code
static void Main(string[] args)
{
int add = plus(4);
Console.WriteLine(add);
Console.ReadKey();
}
[DllImport("CproDll.dll")]
static extern int plus(int a);
*********************************************
//更改後
static void Main(string[] args)
{
int add = adding(4);
Console.WriteLine(add);
Console.ReadKey();
}
[DllImport("CproDll.dll", EntryPoint = "plus")]
static extern int adding(int a);
留言
張貼留言