Ⅰ 託管代碼和非託管代碼有什麼區別
廣義的說,託管代碼就是集成在你所使用的開發平台內的編程語言。例如:目前最常見的 .Net 運行庫里集成了VC++, C#, VB, F#...等20多種語言的構件和處理功能。
託管代碼:
」託管「的含義就是,這些語言的後台(隱性的)操作都由這個管理系統(.Net)完成了,你把你的編程委託給了開發平台(庫)來完成。當你使用這些語言時,一些系統資源的調用、回收、編譯……各種工作都由它來完成,你只需要專注於程序功能的實現即可。
非託管代碼:
就是指不在你這個集成開發環境里,而是使用其它的開發平台寫出的程序(代碼)。比如說java語言(不是jscript),basic語言(不是VB),C語言(不是VC/C++/C#)等等……它們也有自己的開發平台和程序,用這些語言寫出的程序就屬於」非託管「。
當非託管的代碼在你的託管平台上運行時,你的託管平台就不能很好地處理一些後台(隱性的)操作,就需要編寫額外的代碼來使它們變得和諧並且安全。
舉個最簡單的例子:
C和匯編語言,它們是最早期進入計算機領域的高級語言(匯編已經不能算高級語言了:)),它們可以直接對CPU、內存、匯流排、I/O、硬碟等硬體進行操作(讀/寫),像DOS、Windows、iOs這些操作系統都是用它們寫的。
所以你在.Net集成環境中直接使用這些語言時,會遇到很大的阻礙,阻礙來源於所謂的」託管平台「,它認為這些操作是不安全的,就會拒絕編譯和執行。
但這些語言的特點是操作直接、速度奇快(跟託管平台比),而且專用性和針對性極強,當我們需要運行具有上述特點的程序時,C和匯編可以說是最理想的語言了。要想讓它們和託管平台」和平共處「的話,就需要編制額外的代碼讓它們符合這個託管平台的安全和管理規范,還需要有非常高深的編程功底。要不然等待我們的就會有兩種結果:一是程序無法運行、二是直接造成軟體或硬體的損壞(底層操作是可以損傷硬體的)。
我解釋清楚了嗎?
Ⅱ 如何評價開源中國的碼雲
還不錯。能導入github倉庫,提高下載速度,對菜鳥很友好,界面也不錯。
碼雲 Gitee (最新獨立域名)是由開源中國出品,旨在樹立國內代碼託管和協作開發的行業標桿,靈活便捷地支撐個人、團隊、企業的開發需求的產品。本文將從「碼雲的由來」、「碼雲與 GitHub 的區別」、「碼雲的願景」等多方面來的剖析,來讓大家更全面的了解和評價碼雲。
1. 碼雲 Gitee 的由來:
在題主對問題的描述中,將碼雲看作為中文版的 GitHub ,其實兩者是有區別的。美國有Facebook 和 Twitter,我們也有新浪微博,並成功打造的新的媒體生態,上到國家管理下到個人表達都因為微博產生了深遠影響。新事物的出現總是因為新需求的產生。
本土開發者們對於開源軟體的需求逐年遞增,大家需要更方便的展示、交流和協作,這也是碼雲能走向市場並紮根立足的根本原因。
上線四年,得到兩百多萬用戶的認可,年均增長率 149%,近三百萬開源項目,年均增長率 171%,這一事實也許比前面的話更有說服力。
關於「碼雲」產品名稱,指代的是「代碼」和「雲平台/雲服務」,和我們的核心功能非常貼合,只可惜和大佬有些撞衫…不過名字只是代號,真正的價值、美感往往需要實際的接觸和了解——就像人與人的關系。
2. 本土開發者需求的特殊性:
開源無國界,行業的進步依靠著每一位開發者的貢獻。中國的政治、經濟、文化在近二十年來得到了飛速發展,IT 行業更是如此,立足於本土國情的開發者們,在開源軟體上的需求有沒有自身的特殊性呢?答案是肯定的。
Ⅲ 為什麼要代碼託管
託管代碼 (managed code)同受管制的代碼,由公共語言運行庫環境(而不是直接由操作系統)執行的代碼。託管代碼應用程序可以獲得公共語言運行庫服務,例如自動垃圾回收、運行庫類型檢查和安全支持等。這些服務幫助提供獨立於平台和語言的、統一的託管代碼應用程序行為。
託管代碼是可以使用20多種支持Microsoft .NET Framework的高級語言編寫的代碼,它們包括:C#, J#, Microsoft Visual Basic .NET, Microsoft JScript .NET, 以及C++。所有的語言共享統一的類庫集合,並能被編碼成為中間語言(IL)。運行庫編譯器(runtime-aware compiler)在託管執行環境下編譯中間語言(IL)使之成為本地可執行的代碼,並使用數組邊界和索引檢查,異常處理,垃圾回收等手段確保類型的安全。
優點
在託管執行環境中使用託管代碼及其編譯,可以避免許多典型的導致安全黑洞和不穩定程序的編程錯誤。同樣,許多不可靠的設計也自動的被增強了安全性,例如 類型安全檢查,內存管理和釋放無效對象。程序員可以花更多的精力關注程序的應用邏輯設計並可以減少代碼的編寫量。這就意味著更短的開發時間和更健壯的程序。
簡單點說,託管代碼是一microsoft的中間語言,他主要的作用是在.NET FRAMEWORK的CLR執行代碼前去編譯源代碼,也就是說託管代碼充當著翻譯的作用,源代碼在運行時分為兩個階段:
1.源代碼編譯為託管代碼;(所以源代碼可以有很多種,如VB,C#,J#)
2.託管代碼編譯為microsoft系統的.net平台專用文件(如類庫、可執行文件等)。
Ⅳ 代碼託管是做什麼的
託管復代碼 (managed code)同受管制的代碼,制由公共語言運行庫環境(而不是直接由操作系統)執行的代碼。託管代碼應用程序可以獲得公共語言運行庫服務,例如自動垃圾回收、運行庫類型檢查和安全支持等。這些服務幫助提供獨立於平台和語言的、統一的託管代碼應用程序行為。
託管代碼是可以使用20多種支持Microsoft .NET Framework的高級語言編寫的代碼,它們包括:C#, J#, Microsoft Visual Basic .NET, Microsoft JScript .NET, 以及C++。所有的語言共享統一的類庫集合,並能被編碼成為中間語言(IL)。運行庫編譯器(runtime-aware compiler)在託管執行環境下編譯中間語言(IL)使之成為本地可執行的代碼,並使用數組邊界和索引檢查,異常處理,垃圾回收等手段確保類型的安全。