欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

C#中托管DLL和非托管DLL的區(qū)別有哪些-創(chuàng)新互聯(lián)

C#中托管DLL和非托管DLL的區(qū)別有哪些?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

10年的唐縣網站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。營銷型網站的優(yōu)勢是能夠根據用戶設備顯示端的尺寸不同,自動調整唐縣建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“唐縣網站設計”,“唐縣網站推廣”以來,每個客戶項目都認真落實執(zhí)行。

首先解釋一下,托管DLL和非托管DLL的區(qū)別。狹義解釋講,托管DLL就在Dotnet環(huán)境生成的DLL文件。非托管DLL不是在Dotnet環(huán)境生成的DLL文件。

托管DLL文件,可以在Dotnet環(huán)境通過 “添加引用” 的方式,直接把托管DLL文件添加到項目中。然后通過 Using DLL命
名空間,來調用相應的DLL對象 。

 非托管DLL文件,在Dotnet環(huán)境應用時,通過 DllImport 調用。

C# 調用非托管DLL文件。DLL文件是用C語言編寫的。

托管DLL就是能夠在公共語言運行庫(Common Language Runtime,簡稱CLR)中能夠直接引用的,并且擴展名為“DLL”的文件。

具體所指就是封裝各種命名空間所在的DLL文件,如System.dll等。非托管DLL就是平常所的動態(tài)鏈接庫等,其中就包括了封裝所 有Windows API函數的DLL文件。各種非托管DLL中的函數在公共語言運行庫中不能直接被調用,而需要經過.Net框架提供的“平 臺調用”服務后才可以。

“平臺調用”是.Net框架為Visual Basic .Net、Visual C#等.Net開發(fā)語言提供的一種服務,用以在托管代碼中引入各種
非托管DLL中封裝的函數(其中包括Windows API函數)。“平臺調用”依賴于元數據在運行時查找導出函數并封裝其參數。

在托管代碼中使用“平臺調用”服務調用非托管DLL中封裝的函數時,“平臺服務”將依次執(zhí)行以下操作:

  1. 查找包含該函數所在的DLL文件。

  2. 如果找到,則將該DLL文件 加載到內存中。

  3. 查找函數在內存中的地址并將其參數推到堆棧上,并封送所需的數據。

  4. 將控制權轉移給非托管函數。 這樣整個函數調用完成。

  在Visual Basic .Net中使用“平臺調用”服務,申明Windows API函數主要有二種具體的實現(xiàn)方法:

  1. 使用DllImport特征類來申明Windows API函數。

  2. 使用“Declare”語句來申明Windows API函數。

這二種方法雖有異曲同工之效,但在繁簡上卻有很大差異,第一種方法申明過程比較復雜,很容易在申明Windows API函數時出錯,所以并不提倡。而第二種方法相對簡單,并且又保存了以前Visual Basic中的很多語法,所以在平常時大都使用這種方
法來申明Windows API函數。

regasm:
regasm注冊的是.net框架下生成的dll(托管與clr)

regsvr32:
regsvr32注冊的是要用C++寫的(非托管)
而C#寫的就必須用Regasm注冊

托管DLL,說白了,就是 完全由.NET托管代碼實現(xiàn)的DLL,完全依賴于 .NET 平臺的 CLR 運行。托管DLL,受.NET CLR管控,支 持內存自動回收等的,對于.NET平臺是安全DLL

非托管DLL,是指完全或者部分 不是用.NET代碼實現(xiàn),不依賴于.NET平臺即可運行,例如 COM方式 的DLL,不支持自動回收內存 ,對于.NET平臺而言,也是非安全可控的。

其他平臺的使用vc++、vb等語言寫成的dll文件,在.net環(huán)境下使用的話,可以使用regsvr32注冊后,就可以在.net下使用了。

關于C#中托管DLL和非托管DLL的區(qū)別有哪些問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創(chuàng)新互聯(lián)-成都網站建設公司行業(yè)資訊頻道了解更多相關知識。

文章標題:C#中托管DLL和非托管DLL的區(qū)別有哪些-創(chuàng)新互聯(lián)
標題來源:http://chinadenli.net/article4/dspdie.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供全網營銷推廣面包屑導航Google搜索引擎優(yōu)化小程序開發(fā)建站公司

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網站建設