vs2010創建並使用DLL


一、為什么需要dll

代碼復用是提高軟件開發 效率的重要途徑。一般而言,只要某部分代碼具有通用性,就可將它構造成相對獨立的功能模塊並在之后的項目中重復使用。比較常見的例子是各種應用程序框架, 如ATL、MFC等,它們都以源代碼的形式發布。由於這種復用是“源碼級別”的,源代碼完全暴露給了程序員,因而稱之為“白盒復用”。“白盒復用”的缺點 比較多,總結起來有4點。

  1. 暴露了源代碼;
  2. 容易與程序員的“普通”代碼發生命名沖突;
  3. 多份拷貝,造成存儲浪費;
  4. 更新功能模塊比較困難。

實際上,以上4點概括起來就是“暴露的源代碼”造成“代碼嚴重耦合”。為了彌補這些不足,就提出了“二進制級別”的代碼復用。使用二進制級別的代碼復用一定程度上隱藏了源代碼,對於緩解代碼耦合現象起到了一定的作用。這樣的復用被稱為“黑盒復用”。

在Windows操作系 統中有兩種可執行文件,其后綴名分別為.exe和.dll。它們的區別在於,.exe文件可被獨立的裝載於內存中運行;.dll文件卻不能,它只能被其它 進程調用。然而無論什么格式,它們都是二進制文件。上面說到的“二進制級別”的代碼復用,可以使用.dll來實現。

與白盒復用相 比,.dll很大程度上彌補了上述4大缺陷。.dll是二進制文件,因此隱藏了源代碼;如果采用“顯式調用”(后邊將會提到),一般不會發生命名沖突;由 於.dll是動態鏈接到應用程序中去的,它並不會在鏈接生成程序時被原原本本拷貝進去;.dll文件相對獨立的存在,因此更新功能模塊是可行的。

說明:實現“黑盒復用”的途徑不只dll一種,靜態鏈接庫甚至更高級的COM組件都是。

 

1、創建新C#控制台應用程序,項目命名createBll,打開Program.cs重命名為TestA(可以不重命名)並修改代碼,如圖:

vs2010生成Dll文件並引用dll(C#) 寫好后,可以寫其它的類.cs文件

 

2、完成后,點擊菜單欄的“項目”,下拉單選擇“createDll屬性”,打開如圖窗口

 

vs2010生成Dll文件並引用dll(C#)
在輸出類型選擇“類庫”,然后關掉該窗口,生成解決方案,即生成了creatBll.dll文件,在項目下createBll\createBll\bin\Debug\createBll.dll目錄下。

 

 

 

3、引用Dll文件,新建項目referenceDll,把上面生成的createBll.dll文件復制粘貼到新項目下Debug文件夾下面

 

vs2010生成Dll文件並引用dll(C#)

 

4、在referenceDll項目解決方案處的引用點擊右鍵,彈出窗口

 

vs2010生成Dll文件並引用dll(C#)
瀏覽標簽下,打開referenceDll項目下Debug文件,找到剛才復制過來的createBll.dll文件,單擊確定即可引用。
5、雙擊引用下的createBll打開對象瀏覽器,展開可以看的createBll.dll文件里封裝的方法TestA
vs2010生成Dll文件並引用dll(C#)
6、編寫Program里的相應代碼
vs2010生成Dll文件並引用dll(C#)
先引用createBll,然后代碼如圖,即可調用dll里的方法

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM