close

一、問題描述

因為DLL能提供以下優點:
● 使用較少的資源
當多個程式使用相同的媒體櫃的函式, DLL 可以減少重複的程式碼, 會在磁碟上及實體記憶體中載入。 這會大幅影響效能的執行在前景, 不只是程式還 Windows 作業系統上正在執行的其他程式。
● 模組化結構升級
DLL 有助於提升開發模組化的程式。 這可協助您開發大型的程式需要有多個語言版本或需要模組化結構的程式。 範例的模組化的程式是帳戶程式有許多可在 Run Time 動態載入的模組。
● 簡化部署和安裝
當函式在 DLL 內需要的更新程式或修正程式, 部署和安裝的 DLL 不需要程式, 以與 DLL 重新連結。 除此之外, 如果多個程式使用同一個 DLL, 多個程式將所有獲益更新或修正程式。 當您使用協力廠商 DLL, 定期更新或修正這個問題的發生原因, 是更頻繁地。

另外,因工作內容的需要,欲使用 DLL來簡單化程式主體、並不讓程式外流,故需學習dll的使用方法。

二、方法

1. 專案檔-->右鍵-->加入-->新增專案 (另外加入一個新專案,這樣才不會與先前的專案混在一起)
    (此為專案的namespace  --Noise_Removal_dll)
  1 


  2  

  3

2. 在新的專案-->右鍵-->加入-->現有項目 ( 把要弄成DLL檔的 CS原始檔都統一放來此新的專案裡 )
3. C#最上方的檔案列表-->建置Noise_Removal_dll
  建置C# DLL  

4. 成功後即可在相對應的資料匣下發現此Noise_Removal_dll.dll檔
  dll  

5. 將已建置的DLL檔案,加入至想使用的專案檔中
  加入參考   

  4 

  5 

  6

  7

   加入成功後即可在參考那兒看到DLL檔

 

6. 可於專案中,使用此dll 檔
  語法:
    using Noise_Removal_dll;

    Noise_Removal_dll.Program_Main NR_dll;

    NR_dll = new Noise_Removal_dll.Program_Main();
    double[,] reconstructed_result = NR_dll.Noise_Removal_Csharp_main(train_Data, test_Data);

    注意:若無法使用專案內的函式,可檢查是否為public, 並為公開不為靜態的
       public static double[,] Noise_Removal_Csharp_main

若一直無法如期建置dll 、出現錯誤訊息,
可參考下一篇,
說不定您遇到與我雷同的問題。
http://huangjung1216.pixnet.net/blog/post/153349841

 

arrow
arrow
    文章標籤
    C# DLL
    全站熱搜

    HuangJung1216 發表在 痞客邦 留言(0) 人氣()