軟體項目為什麼要用託管程序
① 請問什麼是託管c++程序
什麼是託管C++
託管是.NET的一個專門概念,它倡導一種新的編程理念,因此我們完全可以把「託管」視為「.NET」。由託管概念所引發的C++
應用程序
包括
託管代碼
、
託管數據
和託管類三個組成部分。
託管代碼
.Net環境提供了許多核心的運行(RUNTIME)服務,比如
異常處理
和
安全策略
。為了能使用這些服務,必須要給
運行環境
提供一些信息
代碼
(
元數據
),這種代碼就是託管代碼。所有的C#、VB.NET、JScript.NET默認時都是託管的,但Visual
C++默認時不是託管的,必須在
編譯器
中使用命令行選項(/CLR)才能產生託管代碼。
託管數據
與託管代碼密切相關的是託管數據。託管數據是由公共語言運行的垃圾回收器進行分配和釋放的數據。默認情況下,C#、Visual
Basic
和
JScript.NET
數據是託管數據。不過,通過使用特殊的
關鍵字
,C#
數據可以被
標記
為非託管數據。Visual
C++數據在默認情況下是非託管數據,即使在使用
/CLR
開關時也不是託管的。
託管類
盡管Visual
C++數據在默認情況下是非託管數據,但是在使用C++的託管擴展時,可以使用「__gc」關鍵字將類標記為託管類。就像該名稱所顯示的那樣,它表示類
實例
的
內存
由垃圾回收器管理。另外,一個託管類也完全可以成為
.NET
框架的成員,由此可以帶來的好處是,它可以與其他語言編寫的類正確地進行相互操作,如託管的
C++類
可以從Visual
Basic類繼承等。但同時也有一些限制,如託管類只能從一個
基類
繼承等。
② 伺服器為什麼要選擇託管
1、伺服器是需要24小時的保持在線不間斷的持續365天工作,所以需要將伺服器放到一個電力供應穩定的環境中,保持電力持續供應,就算停電也有備用電池支持,避免斷電所造成的資料丟失。
2、伺服器需要專業的技術人員24小時的監控,當伺服器受到攻擊和伺服器出現故障的時候,能及時的進行處理。而且伺服器開啟後的噪音大,如果是放到辦公室會能直接的影響到辦公人員工作,還具有輻射遠高於其他設備,長期下去會影響辦公人員的健康。
3、伺服器他所要求的環境是很苛刻的,它需要一個相當穩定的環境下運行、溫度、濕度、防塵這些都要高度的控制好,放到辦公室明顯無法達到相應的要求,當然使得服務效果也達不到要求。
4、選擇伺服器託管IDC機房,用戶可以根據自己的需要,靈活的選擇所在數據中心的線路,埠和增值服務,還有就是在IDC機房裡面託管,在獨立的環境里,可以對自己的行為與程序實行嚴密把關測試狀態,可以將我們的伺服器性能提升一倍。
③ 什麼是託管,什麼是非託管
可以理解為所有.net程序的環境支持,或說運行環境。
詳細解釋:
NET Framework 是一種新的計算平台,它簡化了在高度分布式 Internet 環境中的應用程
序開發。.NET Framework 旨在實現下列目標:
提供一個一致的面向對象的編程環境,而無論對象代碼是在本地存儲和執行,還是在本地
執行但在 Internet 上分布,或者是在遠程執行的。
提供一個將軟體部署和版本控制沖突最小化的代碼執行環境。
提供一個保證代碼(包括由未知的或不完全受信任的第三方創建的代碼)安全執行的代碼
執行環境。
提供一個可消除腳本環境或解釋環境的性能問題的代碼執行環境。
使開發人員的經驗在面對類型大不相同的應用程序(如基於 Windows 的應用程序和基於
Web 的應用程序)時保持一致。
按照工業標准生成所有通信,以確保基於 .NET Framework 的代碼可與任何其他代碼集成
。
.NET Framework 具有兩個主要組件:公共語言運行庫和 .NET Framework 類庫。公共語
言運行庫是 .NET Framework 的基礎。您可以將運行庫看作一個在執行時管理代碼的代理
,它提供核心服務(如內存管理、線程管理和遠程處理),而且還強制實施嚴格的類型安
全以及可確保安全性和可靠性的其他形式的代碼准確性。事實上,代碼管理的概念是運行
庫的基本原則。以運行庫為目標的代碼稱為託管代碼,而不以運行庫為目標的代碼稱為非
託管代碼。.NET Framework 的另一個主要組件是類庫,它是一個綜合性的面向對象的可
重用類型集合,您可以使用它開發多種應用程序,這些應用程序包括傳統的命令行或圖形
用戶界面 (GUI) 應用程序,也包括基於 ASP.NET 所提供的最新創新的應用程序(如 Web
窗體和 XML Web services)。
.NET Framework 可由非託管組件承載,這些組件將公共語言運行庫載入到它們的進程中
並啟動託管代碼的執行,從而創建一個可以同時利用託管和非託管功能的軟體環境。.NET
Framework 不但提供若干個運行庫宿主,而且還支持第三方運行庫宿主的開發。
例如,ASP.NET 承載運行庫以為託管代碼提供可伸縮的伺服器端環境。ASP.NET 直接使用
運行庫以啟用 ASP.NET 應用程序和 XML Web services(本主題稍後將對這兩者進行討論
)。
Internet Explorer 是承載運行庫(以 MIME 類型擴展的形式)的非託管應用程序的一個
示例。使用 Internet Explorer 承載運行庫使您能夠在 HTML 文檔中嵌入託管組件或
Windows 窗體控制項。以這種方式承載運行庫使得託管移動代碼(類似於 Microsoft®
ActiveX® 控制項)成為可能,但是它具有隻有託管代碼才能提供的重大改進(如不完全受
信任的執行和安全的獨立文件存儲)。
④ 小程序授權託管是什麼意思,有什麼風險嗎
一般沒什麼風險,建議找正規的平台做;怎麼挑選好的小程序開發公司,可以參考以下幾點:
第一,看其公司有無官方網站,如果一家互聯網企業連網站都沒有,那就可想而知了,皮包公司的可能性會大一些。
第二,網路搜索開發商有沒有負面消息,如果網路搜索出現關鍵詞比如:騙子、騙人等相關字眼或是直接在搜索結果出現負面消息,那麼這家企業就要慎重選擇了。
第三,打聽其公司的業界口碑,找一些和該企業合作過的公司打聽情況。一般來講這個評價都是實打實的,很難弄虛作假。
第四,看其案例,如果一家公司連一個軟體開發的案例都沒有,要麼是剛剛成立的新公司要麼是公司剛剛開始做這一塊的業務,無論是哪一個都說明這家公司項目經驗不足,實力很難評定,如果合作很有可能做小白鼠。
第五,看其報價。小程序的開發是根據需求功能來確定工期和價格的,如果開發商在不知道你的需求功能甚至都不知道你要做何類小程序的情況下,一上來就給你報價,這樣也是不靠譜的。
⑤ 為什麼要代碼託管
託管代碼 (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平台專用文件(如類庫、可執行文件等)。
⑥ 託管代碼與非託管代碼的區別
簡單來說,託管的代碼就是把有關內存管理(內存申請,內存釋放,垃圾回收之類的)全部都是.net的CLR來管理,就是說使用託管的代碼把底層的一些操作都封裝起來了,不能直接進行內存的讀取之類的和硬體相關的操作,優點就是比較安全,不會出現諸如內存泄露之類的問題,缺點也很明顯,不能直接讀取內存,性能上會有損失,使用起來有時也不夠靈活。
非託管的剛好相反,可以直接進行硬體操作,性能比較高,但是對開發人員的要求也比較高。
最直觀的就是c#不推薦使用指針,而c++就可以使用指針來直接讀取內存;
c#使用垃圾回收,c++要手動的釋放對象……
⑦ 託管程序有什麼特點優缺點
優點:安全,庫函數豐富,只要裝了虛擬機或者FRAMEWORK,那裡都可以使用,學習簡單。
缺點:速度慢,必須安裝虛擬機或者FRAMEWORK,無法直接系統低層操作。
⑧ 手機上的託管程序是什麼意思,在那個網址上能下載託管軟體
山寨機吧,要是山寨機託管之後會在你不注意的時候給別的號發信息打電話瀏覽網頁,花你的話費,而且難清除,最好還是不要用了,現在好多手機軟體業開始有木馬程序了,告訴我你的手機型號
!
全下載個適用你手機系統的安全軟體,比如安全管家,裡面有強力卸載和強力刪除,就可以很好的刪掉那個軟體了!
⑨ .net框架為什麼要進行代碼託管
託管的意思就是你的代碼不是直接使用計算機的資源而是使用運行時給你分配的資源。換句話說就是託管程序不能跨過運行時去讀寫其他的內存或硬體資源。託管代碼比本地代碼更好控制,極大的減少了因為程序自身訪問內存引發的內存地址沖突,硬體資源沖突等風險,降低開發難度,提高軟體質量。
IL,動態編譯並不是託管的特性,而是.net的特性。
⑩ 何謂「開源項目託管」
開源
是指原代碼開放,具體說來就是免費,或者成本不高。個人使用免費,企業使用時需要支付相關費用
一般也指公開部分功能,需要使用全部功能需要支付相關費用
典型的開源軟體有Java Linux 等等就是開源軟體,不過用開軟體作出來的程序是有版權的
開源項目託管應該類似於軟體外包吧,就是把某個開源項目交給別人去做