Preguntas etiquetadas con cil

Common Intermediate Language es el lenguaje ensamblador orientado a objetos utilizado por .NET Framework, .NET Core y Mono. Los lenguajes .NET se compilan en CIL, que se ensambla en un código objeto que tiene un formato de estilo bytecode.

140
Máquina virtual de Java y CLR

¿Como una especie de seguimiento de la pregunta llamada Diferencias entre MSIL y el código de bytes de Java? , ¿cuáles son las (principales) diferencias o similitudes en la forma en que funciona la máquina virtual Java versus cómo.NET Framework Common Language Runtime (CLR) funciona? Además, es el...

92
¿Cuál es el propósito de hidebysig en un método MSIL?

Usando ildasm y un programa C #, por ejemplo static void Main(string[] args) { } da: .method private hidebysig static void Main(string[] args) cil managed { .entrypoint // Code size 2 (0x2) .maxstack 8 IL_0000: nop IL_0001: ret } // end of method Program::Main ¿Qué hace la...

82
¿Cuál es el propósito del código de operación CIL nop?

Estoy revisando MSIL y notando que hay muchas instrucciones nop en MSIL. El artículo de MSDN dice que no realizan ninguna acción y se utilizan para llenar el espacio si el código de operación está parcheado. Se utilizan mucho más en versiones de depuración que en versiones de lanzamiento. Sé...

8
¿Convertir IntPtr a Int64: conv.u8 o conv.i8?

Estoy trabajando en una ILGeneratorextensión para ayudar a emitir fragmentos IL usando Expression. Todo estuvo bien, hasta que trabajé en la parte de conversión de enteros. Hay algo realmente contra-intuitivo para mí, como: Use conv.i8para convertir Int32aUInt64 Use conv.u8para convertir...