"受管"的概念在.Net環(huán)境下被廣泛使用,但是不同地方的含義有點(diǎn)差別:
受管代碼: .Net環(huán)境提供了許多核心的運(yùn)行時(shí)服務(wù), 比如異常處理和策略. 為了能使用這些服務(wù), 必須要給運(yùn)行時(shí)環(huán)境提供一些信息, 這種代碼是受管代碼. 所有的C#, VB.NET, JScript.NET缺省都是受管的. 注意VS7 C++不是受管的! 但是編譯器能夠使用命令行選項(xiàng)(/com+)產(chǎn)生受管代碼!
受管數(shù)據(jù): 所有由受管代碼管理的數(shù)據(jù)都是受管數(shù)據(jù), 這些數(shù)據(jù)都通過.Net垃圾自動(dòng)處理器來管理. 但是即使使用了/com+命令行選項(xiàng),VS7 C++數(shù)據(jù)也不是受管的, 必須加上_gc關(guān)鍵字才是受管的.
受管類: 通常是指在ME(Managed Extensions)下的C++類, 加上_gc關(guān)鍵字, 是一個(gè)受管類了. 這意味著什么呢? : 這種類的實(shí)例是由垃圾自動(dòng)收集器管理的. 第二: 除了上面一點(diǎn), 還有由.Net帶來的益處和弊處. 比如, 這種類可以和其它語言交互訪問, 比如, ME C++可以從VB類中繼承. 這是益處. 但是受管類只能從一個(gè)基類繼承, 這是弊處. |