什么是受管(managed)?
發表時間:2023-08-11 來源:明輝站整理相關軟件相關文章人氣:
[摘要]"受管"的概念在.Net環境下被廣泛使用,但是不同地方的含義有點差別: 受管代碼: .Net環境提供了許多核心的運行時服務, 比如異常處理和安全策略. 為了能使用這些服務, 必須...
"受管"的概念在.Net環境下被廣泛使用,但是不同地方的含義有點差別:
受管代碼:
.Net環境提供了許多核心的運行時服務, 比如異常處理和安全策略. 為了能使用這些服務, 必須要給運行時環境提供一些信息, 這種代碼就是受管代碼. 所有的C#, VB.NET, JScript.NET缺省都是受管的. 注意VS7 C++不是受管的! 但是編譯器能夠使用命令行選項(/com+)產生受管代碼!
受管數據:
所有由受管代碼管理的數據都是受管數據, 這些數據都通過.Net垃圾自動處理器來管理. 但是即使使用了/com+命令行選項,VS7 C++數據也不是受管的, 必須加上_gc關鍵字才是受管的.
受管類:
通常就是指在ME(Managed Extensions)下的C++類, 加上_gc關鍵字, 就是一個受管類了. 這就意味著什么呢?
第一: 這種類的實例是由垃圾自動收集器管理的.
第二: 除了上面一點, 還有由.Net帶來的益處和弊處. 比如, 這種類可以和其它語言交互訪問, 比如, ME C++可以從VB類中繼承. 這就是益處. 但是受管類只能從一個基類繼承, 這就是弊處.