0
ILコードのこのシンボル(IL_0000
など)とは何ですか?これは本当のメモリヒープアドレスですか?ILコードのシンボルは何ですか?
IL_0000: nop
IL_0001: ldstr "here is something"
IL_0006: call void [mscorlib]System.Console::WriteLine(string)
IL_000b: nop
IL_000c: ldc.i4.s 18
IL_000e: newobj instance void Proj.Stock::.ctor(int32)
IL_0013: stloc.0
IL_0014: ldstr "another"
IL_0019: call void [mscorlib]System.Console::WriteLine(string)
IL_001e: nop
IL_001f: ldstr "and even more"
IL_0024: call void [mscorlib]System.Console::WriteLine(string)
IL_0029: nop
IL_002a: ret
また、(数字は相対アドレスであるため)あなたのすべての命令の大きさを示すのは興味深い副作用があります。 –
真... ILDASMを使用していれば...それは必須条件ではありません。 –
@FrédéricHamidi - ラベル 'IL_0001'では、文字列' ldstr'は 'here is something'です。次のラベルは 'IL_0006'です。しかし、ここにあるものは17文字で、Unicode(1文字あたり2バイト)として格納されています。これは34バイトです。次のラベルは 'IL_0023'(35進数で35)なのではないでしょうか? – Icemanind