VB6.0是基于對象的,VB.NET是面向?qū)ο蟮?它們之間的語法上差距還是比較大的.
創(chuàng)新互聯(lián)建站,為您提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站營銷推廣、網(wǎng)站開發(fā)設(shè)計(jì),對服務(wù)搬家公司等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗(yàn)。創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報(bào)價(jià)服務(wù),我們深知市場的競爭激烈,認(rèn)真對待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!
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í)好了.
廣義的說,托管代碼就是集成在你所使用的開發(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í)語言了:)),它們可以直接對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)比),而且專用性和針對性極強(qiáng),當(dāng)我們需要運(yùn)行具有上述特點(diǎn)的程序時(shí),C和匯編可以說是最理想的語言了。要想讓它們和托管平臺(tái)”和平共處“的話,就需要編制額外的代碼讓它們符合這個(gè)托管平臺(tái)的安全和管理規(guī)范,還需要有非常高深的編程功底。要不然等待我們的就會(huì)有兩種結(jié)果:一是程序無法運(yùn)行、二是直接造成軟件或硬件的損壞(底層操作是可以損傷硬件的)。
我解釋清楚了嗎?
1簡單的說,就是代碼被編譯成MSIL后在.net的Framework下運(yùn)行,同操作系統(tǒng)底層的交互都交給framework去做。所謂非托管代碼就是脫離了Framework的管制,直接同底層API打交道,自己管理自己的內(nèi)存和安全機(jī)制等東西。而托管代碼就不管這些,全都由Framework去完成
2“程序”一般都是在對操作系統(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#之類的書籍
當(dāng)前題目:vb.net非托管代碼 c#非托管類
地址分享:http://vcdvsql.cn/article26/doiscjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、小程序開發(fā)、靜態(tài)網(wǎng)站、做網(wǎng)站、商城網(wǎng)站、
聲明:本網(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)