位置:首頁 > 軟件操作教程 > 編程開發(fā) > C# > 問題詳情

DLL的創(chuàng)建

提問人:劉冬梅發(fā)布時間:2020-10-12

1) 啟動Visual C++ 6.0;

2) 新建一個“Win32 Dynamic-Link Library”工程,工程名稱為“Count”;

3) 在“Dll kind”選擇界面中選擇“A simple dll project”;

4) 打開Count.cpp,添加如下代碼:

// 導出函數(shù),使用“ _stdcall ” 標準調用

extern "C" _declspec(dllexport)int _stdcall count(int init);

int _stdcall count(int init)

{//count 函數(shù),使用參數(shù) init 初始化靜態(tài)的整形變量 S ,并使 S 自加 1 后返回該值

static int S=init;

S++;

return S;

}

5) 按“F7”進行編譯,得到Count.dll(在工程目錄下的Debug文件夾中)。

2. 用DllImport調用DLL中的count函數(shù)

1) 打開項目“Tzb”,向“Form1”窗體中添加一個按鈕。

2) 改變按鈕的屬性:Name為 “B2”,Text為 “用DllImport調用DLL中count函數(shù)”,并將按鈕B1調整到適當大小,移到適當位置。

3) 打開“Form1.cs”代碼視圖,使用關鍵字 static 和 extern 聲明方法“count”,并使其具有來自 Count.dll 的導出函數(shù)count的實現(xiàn),代碼如下:

[DllImport("Count.dll")]

static extern int count(int init);

4) 在“Form1.cs[設計]”視圖中雙擊按鈕B2,在“B2_Click”方法體內添加如下代碼:

MessageBox.Show(" 用 DllImport 調用 DLL 中的 count 函數(shù), \n 傳入的實參為 0 ,得到的結果是: "+count(0).ToString()," 挑戰(zhàn)杯 ");

MessageBox.Show(" 用 DllImport 調用 DLL 中的 count 函數(shù), \n 傳入的實參為 10 ,得到的結果是: "+count(10).ToString()+"\n 結果可不是想要的 11 哦?。。?"," 挑戰(zhàn)杯 ");

MessageBox.Show(" 所得結果表明: \n 用 DllImport 調用 DLL 中的非托管 \n 函數(shù)是全局的、靜態(tài)的函數(shù)?。?! "," 挑戰(zhàn)杯 ");

5) 把Count.dll復制到項目“Tzb”的bin\Debug文件夾中,按“F5”運行該程序,并點擊按鈕B2,便彈出如下三個提示框:

image.png image.png image.png

繼續(xù)查找其他問題的答案?

相關視頻回答
回復(0)
返回頂部