2014-09-18 52 views
7

String類的.NET參考源中,引用了一些名爲EE的各種註釋。.NET參考源中的首字母縮寫EE的含義是什麼?

The first is on m_stringLength

//NOTE NOTE NOTE NOTE 
//These fields map directly onto the fields in an EE StringObject. See object.h for the layout. 
// 
[NonSerialized]private int m_stringLength; 

It's found again again for .Empty

// The Empty constant holds the empty string value. It is initialized by the EE during startup. 
// It is treated as intrinsic by the JIT as so the static constructor would never run. 
// Leaving it uninitialized would confuse debuggers. 
// 
//We need to call the String constructor so that the compiler doesn't mark this as a literal. 
//Marking this as a literal would mean that it doesn't show up as a field which we can access 
//from native. 
public static readonly String Empty; 

這也是對Length

// Gets the length of this string 
// 
/// This is a EE implemented function so that the JIT can recognise is specially 
/// and eliminate checks on character fetchs in a loop like: 
///  for(int I = 0; I < str.Length; i++) str[i] 
/// The actually code generated for this will be one instruction and will be inlined. 

我敢說,它可能有一些做與é ngine或者是Ë xternal,但我想實際的參考定義它是什麼。

EE是什麼意思?

+0

「執行引擎」,通常。 – vcsjones 2014-09-18 15:52:44

+0

*執行引擎*如MSCOR ** EE ** .dll – 2014-09-18 15:53:20

+0

哈,我本來認爲它是'MSCoreE'。他們不應該將它標記爲'MSCoreEE.dll'。 – FriendlyGuy 2014-09-18 16:01:09

回答

7

EEExecution Engine的首字母縮寫。

Microsoft Core Execution Engine(在mscoree.dll中找到)是每個.NET程序調用來加載CLR並執行IL代碼的引導程序。這是一個非託管的代碼。

相關問題