2
有人知道使用ldloc var
CIL指令和ldloc.n
是否存在一個小的差異?ldloc var與ldloc.n
在方法範圍內考慮這個局部變量表:
.locals init ([0] int32 a,
[1] int32 b)
是那些指令:
ldloc.0
ldloc.1
更好,worste或等於比:
ldloc a
ldloc b
有人知道使用ldloc var
CIL指令和ldloc.n
是否存在一個小的差異?ldloc var與ldloc.n
在方法範圍內考慮這個局部變量表:
.locals init ([0] int32 a,
[1] int32 b)
是那些指令:
ldloc.0
ldloc.1
更好,worste或等於比:
ldloc a
ldloc b
有許多縮短的簡單目標的常見操作碼形式 - 縮短方法的長度。 ldloc.n
指令佔用一個字節,ldloc.s n
兩個字節,ldloc n
三個字節。這對於內聯非常有用,因爲長於16個字節的方法不適用於它。
'ldloc var'只是ilasm中'ldloc.n'的糖語法。 – leppie
我想知道是否有一個性能影響創建超過4個局部變量,因爲ldloc.n適合0 <= n <= 3 ... –
'ldloc n'可以取任何數字。 '''版本只是它的簡短版本。顯然略高效... – leppie