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

vb.net托管和非托管 c#非托管資源

托管和非托管是什么意思

托管是.NET的一個(gè)專門概念,它是融于通用語言運(yùn)行時(shí)(CLR)中的一種新的編程理念,因此我們完全可以把“托管”視為“.NET”。那么什么是“通用語言運(yùn)行時(shí)”?通用語言運(yùn)行時(shí)是.NET 框架應(yīng)用程序的執(zhí)行引摯。它提供了許多服務(wù),其中包括:代碼管理(裝入和執(zhí)行)、類型安全性驗(yàn)證、元數(shù)據(jù)(高級(jí)類型信息)訪問、為管理對(duì)象管理內(nèi)存、管理代碼,COM對(duì)象和預(yù)生成的DLLs(非管理代碼和數(shù)據(jù))的交互操作性、對(duì)開發(fā)人員服務(wù)的支持等等。

目前創(chuàng)新互聯(lián)建站已為成百上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站改版維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、銀海網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

也就是說,使用托管C++意味著,我們的代碼可以被CLR所管理,并能開發(fā)出具有最新特性如垃圾自動(dòng)收集、程序間相互訪問等的.NET框架應(yīng)用程序。

vb6.0和vb.net有什么區(qū)別?

VB6.0是基于對(duì)象的,VB.NET是面向?qū)ο蟮?它們之間的語法上差距還是比較大的.

VB.NET生成的是托管代碼,必須運(yùn)行于.NET框架之上.VB6則依賴于VB6運(yùn)行時(shí)的支持.

在WINDOWS的下一版本W(wǎng)INDOWS 7中仍然會(huì)提供VB6的支持,不過再到以后的版本就沒了.

如果你是第一次學(xué),個(gè)人覺得還是直接轉(zhuǎn)向VB.NET學(xué)習(xí)好了.

托管代碼與非托管代碼的區(qū)別

1簡單的說,就是代碼被編譯成MSIL后在.net的Framework下運(yùn)行,同操作系統(tǒng)底層的交互都交給framework去做。所謂非托管代碼就是脫離了Framework的管制,直接同底層API打交道,自己管理自己的內(nèi)存和安全機(jī)制等東西。而托管代碼就不管這些,全都由Framework去完成

2“程序”一般都是在對(duì)操作系統(tǒng)進(jìn)行直接或者間接的操作

“托管程序”是需要通過訪問公共語言運(yùn)行時(shí)(cls)才能訪問操作系統(tǒng)的程序

而“非托管程序”不用通過訪問公共語言運(yùn)行時(shí)(cls)可以直接訪問操作系統(tǒng)的程序

3vb.net,C#等寫的程序是托管程序,VC++可以寫托管程序,如果用到了內(nèi)存管理,則只能編譯為非托管程序這些東西MSDN上都寫得很清楚的,如果真想深入了解的話LZ可以看看CLR via C#、.net框架設(shè)計(jì)、Effective C#之類的書籍

托管代碼和非托管代碼有什么區(qū)別

廣義的說,托管代碼就是集成在你所使用的開發(fā)平臺(tái)內(nèi)的編程語言。例如:目前最常見的 .Net 運(yùn)行庫里集成了VC++, C#, VB, F#...等20多種語言的構(gòu)件和處理功能。

托管代碼:

”托管“的含義就是,這些語言的后臺(tái)(隱性的)操作都由這個(gè)管理系統(tǒng)(.Net)完成了,你把你的編程委托給了開發(fā)平臺(tái)(庫)來完成。當(dāng)你使用這些語言時(shí),一些系統(tǒng)資源的調(diào)用、回收、編譯……各種工作都由它來完成,你只需要專注于程序功能的實(shí)現(xiàn)即可。

非托管代碼:

就是指不在你這個(gè)集成開發(fā)環(huán)境里,而是使用其它的開發(fā)平臺(tái)寫出的程序(代碼)。比如說java語言(不是jscript),basic語言(不是VB),C語言(不是VC/C++/C#)等等……它們也有自己的開發(fā)平臺(tái)和程序,用這些語言寫出的程序就屬于”非托管“。

當(dāng)非托管的代碼在你的托管平臺(tái)上運(yùn)行時(shí),你的托管平臺(tái)就不能很好地處理一些后臺(tái)(隱性的)操作,就需要編寫額外的代碼來使它們變得和諧并且安全。

舉個(gè)最簡單的例子:

C和匯編語言,它們是最早期進(jìn)入計(jì)算機(jī)領(lǐng)域的高級(jí)語言(匯編已經(jīng)不能算高級(jí)語言了:)),它們可以直接對(duì)CPU、內(nèi)存、總線、I/O、硬盤等硬件進(jìn)行操作(讀/寫),像DOS、Windows、iOs這些操作系統(tǒng)都是用它們寫的。

所以你在.Net集成環(huán)境中直接使用這些語言時(shí),會(huì)遇到很大的阻礙,阻礙來源于所謂的”托管平臺(tái)“,它認(rèn)為這些操作是不安全的,就會(huì)拒絕編譯和執(zhí)行。

但這些語言的特點(diǎn)是操作直接、速度奇快(跟托管平臺(tái)比),而且專用性和針對(duì)性極強(qiáng),當(dāng)我們需要運(yùn)行具有上述特點(diǎn)的程序時(shí),C和匯編可以說是最理想的語言了。要想讓它們和托管平臺(tái)”和平共處“的話,就需要編制額外的代碼讓它們符合這個(gè)托管平臺(tái)的安全和管理規(guī)范,還需要有非常高深的編程功底。要不然等待我們的就會(huì)有兩種結(jié)果:一是程序無法運(yùn)行、二是直接造成軟件或硬件的損壞(底層操作是可以損傷硬件的)。

我解釋清楚了嗎?

標(biāo)題名稱:vb.net托管和非托管 c#非托管資源
網(wǎng)站鏈接:http://chinadenli.net/article24/hhjgje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)做網(wǎng)站網(wǎng)站改版虛擬主機(jī)云服務(wù)器

廣告

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

成都seo排名網(wǎng)站優(yōu)化