国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

全面剖析VB.NET(5)

2024-07-10 13:05:18
字體:
來源:轉載
供稿:網友
五、公共運行時環境
    迄今為止,業界對vb.net討論得最多的特色或許就是clr。vb.net運行在clr之上,正是clr為vb.net帶來了許多關鍵的新特色(包括缺點在內)。例如,clr使得vb.net支持跨語言的繼承以及自由線程。
  
    在vb6中,分布式vb程序要求有vb運行時庫msvbvm60.dll支持,即該運行時庫必須隨同應用一起分發。其他許多語言,比如c++和java,也有類似的要求。在.net中,所有visual studio語言共享同樣的運行時環境clr。改用clr帶來了幾個重要的結果:現在所有visual studio語言都共用同樣的ide、同樣的窗體引擎、同樣的異常處理機制,等等。它意味著visual basic在很大程度上已經可以和.net的其他語言相提并論,如c#等。然而,對于clr的異議仍舊存在,vb業界仍在激勵地爭辯它地價值。
  
    不管應用是用vb、c#還是其他.net語言編寫,所有vs.net代碼都是編譯成中間語言(intermediate language,il)。當應用運行時,一個實時編譯器(just-in-time compiler,或稱為jit)就把il代碼編譯成機器語言。在理論上,它意味著為非windows的平臺構造.net運行環境是可能的,但目前還沒有出現有關這類系統的正式消息。il有一個缺點:正如vb在5.0以前的版本,il代碼對于類似的反向編譯工程很敏感。由于存在這種可能性,許多開發者對于.net框架的整體安全性抱有懷疑。
  
    對clr進行優化影響il層次上的代碼,它使得所有使用clr的語言受益。然而,對于特定語言的優化涉及到如何把代碼編譯成il代碼,它根據特定語言的語法進行。因此,.net各種語言之間存在一定的性能差異是必然的。但不管如何,從整體上來看這仍舊是好事,例如clr為vb帶來了和c#一樣的調試和分析工具——之所以能夠如此,是因為它們都使用一樣的工具。
  
    clr提供了前所未有的跨語言集成能力,其中包括跨語言繼承代碼的能力。所有使用clr的語言都使用一個公共類型系統(common type system),它使得開發那些運用多種語言的應用變得更為容易。
  
    在clr之內運行的代碼稱為“受管理的代碼”(managed code),受管理代碼所使用的內存由clr全面控制。受管理的代碼有著許多優點,包括交叉語言集成、跨語言異??刂埔约耙粋€組件交互的簡化模型。visual basic.net只能以受管理代碼方式運行,與此相對應,c#卻具有將代碼轉入非受管理方式運行的能力(運行在clr之外),比如執行指針處理之類的操作。這是vb.net不能與c#相提并論的地方之一。然而,這種能力的是否重要,對于不同的人、不同的用途來說都有所不同。
  • 網站運營seo文章大全
  • 提供全面的站長運營經驗及seo技術!
  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 赣榆县| 德令哈市| 游戏| 德化县| 巴彦县| 赞皇县| 莒南县| 南和县| 怀安县| 饶阳县| 宜州市| 周口市| 营口市| 固始县| 扶绥县| 禹州市| 海南省| 开平市| 会宁县| 迁安市| 霍山县| 广安市| 鹤山市| 徐汇区| 翼城县| 台江县| 瑞金市| 喀什市| 甘洛县| 天镇县| 四子王旗| 台山市| 津市市| 西和县| 桦甸市| 鹤庆县| 苏尼特右旗| 五台县| 北海市| 永嘉县| 平利县|