cil

Common Intermediate Language ist die objektorientierte Assemblersprache, die von .NET Framework und Mono verwendet wird. .NET-Sprachen werden nach CIL kompiliert, das zu einem Objektcode zusammengefügt wird, der ein Bytecode-Format aufweist.
2
Antworten

verstehe MSIL von try catch endlich

Ich habe den folgenden Code %Vor% Das aus dem obigen Code generierte MSIL lautet: %Vor% Ich habe folgende Fragen: Warum der try-catch wieder im try-Block enthalten ist. Es sieht so aus, als ob leave.s die letzte Zeile in try und c...
22.12.2014, 11:24
2
Antworten

Sind MSIL Opcodes atomar?

Ich habe ein bisschen mit dem MSIL-Decompiler - ILDASM gespielt und versucht, eine einfache .NET-Methode zu dekompilieren. Die Opcodes sahen irgendwie so aus: %Vor% Was ich mich wundere ist - sind diese Opcodes atomar? Ist es in einem prä...
31.01.2012, 19:56
2
Antworten

While Schleife in IL - warum stloc.0 und ldloc.0?

Ich versuche zu verstehen, wie eine While-Schleife in IL aussieht. Ich habe diese C # -Funktion geschrieben: %Vor% Die IL sieht so aus: %Vor% In den meisten Fällen ist das wirklich einfach, außer für den Teil nach cgt. Was ich nicht v...
09.04.2010, 04:18
1
Antwort

Entfernt das Kompilieren von systemeigenem Code in .NET die MSIL vollständig?

Ich frage mich, ob es im Zusammenhang mit der Disassemblierung von .Net-Code (Redgate .Net-Reflektor usw.) sicherer ist, Ihren Code unter Verwendung von Ngen auf nativ zu kompilieren? Das heißt, bedeutet das, dass jemand jetzt IDA- und ASM-Fähig...
30.12.2010, 05:36
1
Antwort

Verwendung des DLR für (hauptsächlich) statische Sprachkompilierung

Ich erstelle einen Compiler, der auf .NET abzielt, und ich habe CIL vorher direkt generiert, aber das Erzeugen von DLR-Bäumen wird mein Leben erheblich erleichtern. Ich unterstütze ein paar dynamische Features, nämlich die Erstellung von Runtime...
13.09.2008, 10:58
1
Antwort

Leistungseinbuße, wenn Generic.ListT.Add die letzte Anweisung in einer Funktion ist und die Optimierung der Rufannahme aktiviert ist

Ich habe eine seltsame Leistungseinbuße bekommen, die ich auf diesen Code reduziert habe: %Vor% Der Unterschied zwischen add und add1 ist der zusätzliche () am Ende. Wenn ich es als x64 Release Build mit F # 3.1 auf .NET 4.5.1 er...
21.02.2015, 18:13
6
Antworten

Ersetzen von Anweisungen in MethodBody einer Methode

(Zunächst einmal ist dies ein sehr langer Post, aber keine Sorge: Ich habe bereits alles implementiert, ich frage nur nach Ihrer Meinung oder nach möglichen Alternativen.) Ich habe Probleme bei der Implementierung des Folgenden; Ich würde etw...
10.05.2010, 14:49
3
Antworten

CIL OpCode (Ldarg_0) wird verwendet, obwohl keine Argumente vorhanden sind

Ich habe den folgenden C # -Code. %Vor% Erzeugt die folgende CIL %Vor% Nun, was ich nicht verstehe, ist die Linie bei Offset 0001:    ldarg.0 Ich weiß, wofür dieser Opcode ist, aber ich verstehe nicht wirklich, warum er in dies...
02.05.2013, 19:26
4
Antworten

Warum .NET-Code zu MSIL kompiliert?

Der erste .NET-Code wird nach MSIL kompiliert und dann von JIT in maschinenabhängigen Code konvertiert. Kann jemand mir sagen, was alle Vorteile wegen der 2-Schritt-Compilation bekommen. Danke     
18.12.2009, 05:06
3
Antworten

Was ist der Unterschied zwischen ldsfld und ldstr in IL?

Ich habe einen Artikel über String.Empty vs "" gelesen und teste mich auch selbst. Unterschiedlich zwischen ihnen sind unten. String.Empty %Vor% "" %Vor% Nachdem ich mit meinen Freunden gesprochen habe, argumentieren sie, dass String....
09.09.2010, 06:31