dll动态链接库
Visual C#生成DLL文件——預備知識?
DLL(Dynamic Link Library)文件即動態鏈接庫文件,是一種可執行文件,允許程序共享執行特殊任務所必需的代碼和其他資源。多數情況下帶有dll擴展名(也可以 是.ocx文件:ActiveX控件文件,.cpl文件:控制面板文件,.drv文件:設備驅動程序文件等),向運行于Windows操作系統下的程序提 供代碼、數據或函數。
使用DLL的一些好處:
使用較少的資源;
推廣模塊式體系結構;
簡化部署和安裝。??????
DLL不是獨立運行的程序,是某個程序的一個部分,只能由所屬的程序調用,用戶不能也不需要打開它。?
Visual C#生成DLL文件???
VisualC、Delphi或者VB等編程語言來編寫的DLL文件,在編譯完成以后,產生DLL文件已經是一個可以直接供計算機使用的二進制文 件。但用Visual C#編譯器生成的受管代碼雖然也是二進制文件,但不是可以直接供計算機使用的原始代碼,實質上是一種中間語言(IL)代碼,需要經過"下一代窗口服務"( Next Generation Windows Services,簡寫為NGWS ) runtime的即時編譯器(即JIT)進行編譯。
用Visual C#生成的DLL文件已經和以前的DLL文件有了本質上的區別。用Visual C#生成的DLL文件在程序設計中更多的表現為一種類(Class)或者類庫(Class Library)。?
Visual C#生成DLL文件——制作一個組件
1.首先創建一個新類庫工程文件
File->New->Project->Visual C# Projects->Class Library。填入工程文件名稱,并且選擇文件要存放的目錄。
2.工程文件
將Class1.cs改名自己要創建的文件名:myDll.cs,并填入代碼。
3.生成DLL文件
編譯工程文件:csc /target:library /out:myDll.DLL myDll.cs生成組件myDll.dll,該組件會在工程文件的bin\debug目錄里,文件擴展名是dll。
Visual C#生成DLL文件——測試DLL
1.新建一個控制應用程序
File->New->Project->Visual C# Projects->Console Application。通過這個控制應用程序來測試我們的組件。
2. 為Namespace添加引用
Project->Add reference,瀏覽到剛才生成的DLL,然后按OK。即將引用加到當前的工程文件的類里。
3.調用myDll命名空間,創建myDll對象,并且調用它的方法和屬性
(1)使用namespace:using myDll;
(2)創建myDll對象;
(3)調用方法和屬性。
?
使用csc命令將.cs文件編譯成.dll的過程
很多時候,我們需要將.cs文件單獨編譯成.dll文件, 操作如下:
打開命令窗口->輸入cmd到控制臺->cd C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322
轉到vs.net安裝的該目錄下->執行csc命令csc /target:library File.cs->在該目錄下產生一個對應名字的.dll文件(前提:把.cs文件放到C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322目錄下)
?csc命令的方式很多,請參考以下
譯 File.cs 以產生 File.exe
csc File.cs 編譯 File.cs 以產生 File.dll
csc /target:library File.cs 編譯 File.cs 并創建 My.exe
csc /out:My.exe File.cs 通過使用優化和定義 DEBUG 符號,編譯當前目錄中所有的 C# 文件。輸出為 File2.exe
?csc /define:DEBUG /optimize /out:File2.exe *.cs 編譯當前目錄中所有的 C# 文件,以產生 File2.dll 的調試版本。不顯示任何徽標和警告
?csc /target:library /out:File2.dll /warn:0 /nologo /debug *.cs 將當前目錄中所有的 C# 文件編譯為 Something.xyz(一個 DLL)
?csc /target:library /out:Something.xyz *.cs 編譯 File.cs 以產生 File.dll
?csc /target:library File.cs這個就是我們使用最多的一個命令,其實可以簡單的寫成csc /t:library File.cs,另外的一個寫法是 csc /out:mycodebehind.dll /t:library mycodebehind.cs,這個可以自己指定輸出的文件名。
csc /out:mycodebehind.dll /t:library mycodebehind.cs mycodebehind2.cs,這個的作用是把兩個cs文件裝到一個.dll文件里
轉載于:https://www.cnblogs.com/9421/archive/2010/01/06/1640625.html
總結
- 上一篇: 牛客假日团队赛5 K金币馅饼 (DP 基
- 下一篇: 爱的十个秘密--2.思想的力量