1. 程式人生 > >.Net呼叫C++類庫方法

.Net呼叫C++類庫方法

.Net除了效能外,還有一個不得不注意的問題就是安全問題。我們可以給.Net程式集加殼,混淆(.NET Reactor工具)。除了給.Net加殼,混淆外,還有一個方法,就是將重要的邏輯,計算放在C++類庫中。C#呼叫C++類庫和呼叫Windows API一樣,利用DllImport這個Attribute。

一)首先準備C++ DLL

extern "C" __declspec(dllexport) char* GetString()
{
	return "Hello World";
}


注:編譯時在專案屬性選 “在靜態庫中使用 MFC”

二)準備Demo呼叫Dll

[DllImport("MFCDLL.dll", EntryPoint = "GetString")]
public static extern string GetString();

private void btnCall_Click(object sender, EventArgs e)
{
	MessageBox.Show(GetString());
}


注:編譯器編譯時要選32位,64位下呼叫會拋異常。

顯示結果: