程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 在C#中如何創建和調用DLL(2)

在C#中如何創建和調用DLL(2)

編輯:關於C語言
要注意的是:我們在制作這兩個文件的時候可以用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!我們創建動態鏈接庫文件的任務完成了,現在是我們享受勞動成果的時候了,下面我將介紹如何使用我們所創建的動態鏈接庫文件。

四、使用DLL

我們簡單寫一個小程序來測試一下我們剛才寫的兩個方法是否正確,好吧,跟我來:

MyClIEnt.cs 
using System;
using MyMethods;
//這裡我們引用剛才定義的名稱空間,如果剛才的兩個文件我們寫在兩個不同的名稱空間
class MyClIEnt
{
   public static void Main(string[] args)
   {
     if (args.Length != 2)
     {
Console.WriteLine("Usage: MyClIEnt ");
return;
     }
      long num1 = long.Parse(args[0]);
      long num2 = long.Parse(args[1]);
      SwapClass.Swap(ref num1,ref num2);
// 請注意,文件開頭的 using 指令使您得以在編譯時使用未限定的類名來引用 DLL 方法
      Console.WriteLine("The result of swap is num1 = {0} and num2 ={1}",num1, num2);
      long maxcd = MaxCDClass.MaxCD(num1,num2);
      Console.WriteLine("The MaxCD of {0} and {1} is {2}",num1, num2, maxcd);
   }
}

若要生成可執行文件 MyClIEnt.exe,請使用以下命令行:

csc /out:MyClient.exe /reference:MyLibrary.DLL MyClIEnt.cs

/out 編譯器選項通知編譯器輸出 EXE 文件並且指定輸出文件名 (MyClIEnt.exe)。/reference 編譯器選項指定該程序所引用的 DLL 文件。

五、執行

若要運行程序,請輸入 EXE 文件的名稱,文件名的後面跟兩個數字,例如:

MyClIEnt 123 456

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved