欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

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

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

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

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

托管DLL文件,可以在Dotnet環(huán)境通過(guò) “添加引用” 的方式,直接把托管DLL文件添加到項(xiàng)目中。然后通過(guò) Using DLL命
名空間,來(lái)調(diào)用相應(yīng)的DLL對(duì)象 。

 非托管DLL文件,在Dotnet環(huán)境應(yīng)用時(shí),通過(guò) DllImport 調(diào)用。

C# 調(diào)用非托管DLL文件。DLL文件是用C語(yǔ)言編寫(xiě)的。

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

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

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

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

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

  2. 如果找到,則將該DLL文件 加載到內(nèi)存中。

  3. 查找函數(shù)在內(nèi)存中的地址并將其參數(shù)推到堆棧上,并封送所需的數(shù)據(jù)。

  4. 將控制權(quán)轉(zhuǎn)移給非托管函數(shù)。 這樣整個(gè)函數(shù)調(diào)用完成。

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

  1. 使用DllImport特征類來(lái)申明Windows API函數(shù)。

  2. 使用“Declare”語(yǔ)句來(lái)申明Windows API函數(shù)。

這二種方法雖有異曲同工之效,但在繁簡(jiǎn)上卻有很大差異,第一種方法申明過(guò)程比較復(fù)雜,很容易在申明Windows API函數(shù)時(shí)出錯(cuò),所以并不提倡。而第二種方法相對(duì)簡(jiǎn)單,并且又保存了以前Visual Basic中的很多語(yǔ)法,所以在平常時(shí)大都使用這種方
法來(lái)申明Windows API函數(shù)。

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

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

托管DLL,說(shuō)白了,就是 完全由.NET托管代碼實(shí)現(xiàn)的DLL,完全依賴于 .NET 平臺(tái)的 CLR 運(yùn)行。托管DLL,受.NET CLR管控,支 持內(nèi)存自動(dòng)回收等的,對(duì)于.NET平臺(tái)是安全DLL

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

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

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

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

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

廣告

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

成都網(wǎng)站建設(shè)
人妻免费视频中文字幕| 国产黄色片网站在线看| 中文字幕久精品视频免费| 国产剧情av在线资源| 尤物视频最新在线观看| 婷婷亚洲五月伊人91| 欧美黄片完整版在线观看 | 91免费人成网站在线观看| 丁香婷婷综合激情五月| 午夜亚洲欧美日韩在线| 做性视频大全在线观看| 色久悠悠婷婷综合在线亚洲| 国产三级黄在线观看| 黄色日韩欧美在线观看| 中文欧美一区二区精品| 日韩三级在线观看av| 欧美亚洲另类在线第一页| 亚洲精品不卡在线观看| 国产三级黄在线观看| 深夜福利视频一区二区| 九九在线免费视频蜜臀| 欧美午夜精品一二三区| 少妇按摩高潮呻吟av| 中文字幕乱码亚洲美女精品| 日本黄色高清视频一区| 91麻豆亚洲国产成人久久精品| 午夜福利成人在线免费观看| 国产高清av免费在线观看| 久草免费人妻视频在线| 亚洲一区二区三区 日韩精品| 国产一级精品自拍视频| 中文字幕乱码人妻一区| 国产传媒在线免费播放视频| 日本欧美亚洲一区二区三区| 国产熟女碰碰人人a久久| 久久夜色一区二区三区| 日韩av不卡免费播放| 女同三人按摩高潮喷出| 午夜黄色福利在线观看| 国产成人综合亚洲国产| 日本加勒比一道本东京热|