淺析C#語言調用DLL
一、寫在前面
C#語言是一種簡單但功能強大的編程語言,用于編寫企業應用程序。
C#語言從C和C++語言演化而來,在語句、表達式和運算符方面使用了許多C++ 功能。
C#語言在類型安全性、版本轉換、事件和垃圾回收等方面進行了相當大的改進和創新。
C#語言提供對常用API 樣式(如 .NET 框架、COM、自動化和 C 樣式 API 等)的訪問。
和大多數程序員一樣,你一定使用過DLL。也一定曾感受到它的帶給你程序設計和編碼上的好處。我想和大家探討一個主題:如何利用C#語言調用DLL(動態鏈接庫), 其實在很大意義上講,DLL讓我們更靈活的組織編寫我們的應用程序,作為軟件設計者,可以根據它來達到很高的代碼重用效果。下面我來介紹一下在C#語言調用DLL。
二、準備工作
我們需要對接下來要做的事情做個簡單的介紹,在本文我們將利用C#語言創建一個名為 MyDLL.DLL的動態鏈接庫,在這個動態鏈接庫文件中我們將提供兩個功能:一個是對兩個參數交換他們的值;另一個功能是求兩個參數的最大公約數。然后創建一個應用程序使用這個DLL,運行并輸出結果。
三、創建DLL
讓我們創建以下兩個C#代碼文件:
- usingSystem;
- namespaceMyMethods
- {
- publicclassSwapClass
- {
- publicstaticboolSwap(reflongi,reflongj)
- {
- ii=i+j;
- j=i-j;
- ii=i-j;
- returntrue;
- }
- }
- }
- usingSystem;
- namespaceMyMethods
- {
- publicclassMaxCDClass
- {
- publicstaticlongMaxCD(longi,longj)
- {
- longa,b,temp;
- if(i>j)
- {
- a=i;
- b=j;
- }
- else
- {
- b=i;
- a=j;
- }
- temp=a%b;
- while(temp!=0)
- {
- a=b;
- b=temp;
- temp=a%b;
- }
- returnb;
- }
- }
- }
- }
需要注意的是:我們在制作這兩個文件的時候可以用Visual Studio.NET或者其他的文本編輯器,就算是記事本也可以。這兩個文件雖然不在同一個文件里面,但是他們是屬于同一個namespace(名稱空間),這對以后我們使用這兩個方法提供了方便。當然他們也可以屬于不同的名稱空間,這是完全可以的。但只是在我們應用它們的時候就需要引用兩個不同的名稱空間,所以建議還是寫在一個名稱空間下面比較好。
接下來的任務是把這兩個cs文件變成我們需要的DLL文件。方法是這樣的:在安裝了Microsoft.NET Framework的操作系統上,我們可以在Windows所在目錄下找到Microsoft.NET目錄。在這個目錄下面提供了C#的編譯器CSC.EXE,運行csc/target:library/out:MyDLL.DLL MySwap.cs MyMaxCD.cs
完成后可在本目錄下面找到我們剛才生成的MyDLL.DLL文件/target:library 編譯器選項通知編譯器輸出 DLL 文件而不是 EXE 文件。后跟文件名的 /out 編譯器選項用于指定 DLL 文件名。
如果/out后面不跟文件名編譯器,使用第一個文件 (MySwap.cs) 作為 DLL 文件名。生成的文件為MySwap.DLL文件。
OK!我們創建動態鏈接庫文件的任務完成了,現在是我們享受勞動成果的時候了。以上介紹C#語言調用DLL。
【編輯推薦】