C#引用C++ Dll

摘要:C#引用C++ Dll

以Dev-C++開發為例!

【檔案】→『開新檔案』→『專案』→選擇「DLL」→專案選項  選擇:「C++專案」 名稱:請輸入小寫英文或數字(之後在產出dll給C#引用時才不會不能引用)

C++宣告可以使C#引用範例為以下幾種情況:

範例1:

 

extern "C" {
      __declspec(dllexport) LPSTR __stdcall getChar(char **b) 
     {
       ................... 
       return *b;
     }
}
 
範例2:

 

extern "C" __declspec(dllexport) LPSTR  getChar(char **b);

LPSTR __declspec(dllexport)  getChar(char **b)
{
....

return *b;
}

範例3:

 

extern "C"   __declspec(dllexport) LPSTR __stdcall getChar(char **b) 
{
 ................... 
return *b;
}
 
C#引用方式以下:
namespace reserh
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        [DllImport("xxxx.dll")]  //xxxx為你dll的名稱
        public static extern string getChar(ref string b);
 
        private void button1_Click(object sender, EventArgs e)
        {
            string b="";
            getChar(ref b);
            label1.Text = b;
        }
    }
}