cil

Jaki jest cel stosu? Po co nam to?

Więc właśnie uczę się debugować moje aplikacje C#. Net. Zawsze zastanawiałem się: jaki jest cel stosu? żeby umieścić moje ... e jest Oparte na PAMIĘCI RAM? dla efektywności? Staram się to zrozumieć, aby pomóc mi zrozumieć CIL kody znacznie głębiej.

Wirtualna maszyna Javy i CLR

Jako swego rodzaju kontynuacja pytania o nazwie różnice między MSIL i Java bytecode?, Jakie są (główne) różnice lub podobieńs ... Runtime (CLR)? Ponadto, czy . NET framework CLR jest "maszyną wirtualną", czy też nie posiada atrybutów maszyny wirtualnej?

Dynamicznie zastąpić zawartość metody C#?

To co chcę zrobić to zmienić sposób wykonywania metody C#, gdy jest wywoływana, tak, że mogę napisać coś takiego: [Distribu ... aleźć sposób na skopiowanie przez IL, a także zaktualizować wszystkie wywołania do Solve() tak, aby wskazywały na nową kopię.

Dziwny wzrost wydajności w prostym benchmarku

Wczoraj znalazłem artykuł Christopha Nahra zatytułowany". NET Struct Performance", który porównał kilka języków (C++, C#, Jav ... a.Y, sw.ElapsedMilliseconds); } GC.KeepAlive(magical_speed_booster_1); GC.KeepAlive(magical_speed_booster_2); }

Dlaczego to (null//!TryParse) warunkowy wynik w "use of unassigned local variable"?

Poniższy kod skutkuje użyciem unassigned local variable "numberOfGroups": int numberOfGroups; if(options.NumberOfGroups == n ... } Console.WriteLine(myInt); } #endregion } Nie zdawałem sobie sprawy, że to może być czynnikiem.

Jaki jest cel kodu opcode CIL nop?

Przeglądam MSIL i zauważam, że w MSIL jest dużo instrukcji nop. Artykuł MSDN mówi, że nie podejmują żadnych działań i są uży ... redaktora: akceptowana odpowiedź dotyczy NoPS w kodzie maszynowym, a nie MSIL/CIL NoPS, o którym pierwotnie zadano pytanie.)

Co robi flaga beforefieldinit?

Co robi flaga beforefieldinit? Kiedy patrzę na IL mojej klasy widzę tę flagę, ale nie wiem co ta flaga właściwie robi?

Jaki jest cel stosowania hidebysig w metodzie MSIL?

Używanie ildasm i programu C# np. static void Main(string[] args) { } Daje: .method private hidebysig static void Mai ... 2 (0x2) .maxstack 8 IL_0000: nop IL_0001: ret } // end of method Program::Main Co robi konstrukcja hidebysig?

Call i Callvirt

Jaka jest różnica między instrukcjami CIL "Call" i "Callvirt"?

Pisanie kompilatora for.net -IL czy Bytecode?

Obecnie zanurzam się w wewnętrznej pracy. NET, czyli IL. Jako ćwiczenie chcę zbudować mózg..kompilator K dla. Net (tak, już i ... ją swój język do IL i wykonują ilasm? Czy istnieje jego zarządzana wersja, którą mogę wywołać / osadzić z mojego kompilatora?

Dlaczego kompilator C# tłumaczy to!= porównanie jakby to było > porównanie?

Przypadkiem odkryłem, że kompilator C# odwraca tę metodę: static bool IsNotNull(object obj) { return obj != null; } . ... return obj > null; // (note: this is not a valid C# expression) } Jak to się stało, że != jest tłumaczone jako ">"?

Ogólne zastosowanie metody FromEvent

Używając nowego modelu asynchronicznego / oczekującego, dość łatwo jest wygenerować Task, który jest zakończony po wywołaniu ... lternatywnie, czy istnieje inne podejście do tworzenia metody, która zwraca zadanie dla dowolnego zdarzenia z dowolnego typu?

A.net disassembler /decompiler [zamknięty]

Szukam disassemblera lub lepszego, dekompilatora dla .net. sytuacja jest taka, że kod źródłowy asemblera napisany przez jedne ... do tego jakieś narzędzia? (jeśli nie, I Załóżmy, że to będzie dobra wymówka dla mnie, aby usiąść i zacząć uczyć się MSIL)

Jak zapobiec kradzieży kodu?

Co się dokładnie dzieje, gdy uruchamiam. NET exe? Wiem, że C# jest skompilowany do kodu IL i myślę, że wygenerowany plik exe ... edzieli też, że wystarczy zmienić nazwę wszystkich symboli na bezsensowną nazwę. A inżynieria odwrotna nie będzie taka łatwa.

Dynamiczne tworzenie metody i jej wykonywanie

Background: Chcę zdefiniować kilka metod static w C# i wygenerować kod IL jako tablicę bajtów , z jednej z tych metod, wyb ...    w MyType.MyMethod( Int32 value1, Int32 value2) [...] Proszę o pomoc w ustaleniu przyczyny błędu i jak go naprawić.

Implicit konwersji do systemu.Double with a nullable struct via compiler generated locals: why is this failed?

Biorąc pod uwagę następujące, dlaczego InvalidCastException jest wyrzucany? Nie rozumiem dlaczego powinno być poza błędem (to ... le(MyDouble value) i jest to 2.wywołanie, które się nie powiedzie, ponieważ value nie jest inicjalizowane. Co tu się dzieje?

DynamicMethod jest znacznie wolniejszy niż skompilowana funkcja IL

Napisałem prosty obiekt kopiujący właściwości publiczne. Nie mogę zrozumieć, dlaczego metoda dynamiczna jest o wiele wolniejs ... które miałem nadzieję. Edytowano 17 lis 2012 15: 11: removed the nop removed the extra ="" which came from I don't where.

Modyfikacja Existing.NET Zespoły

Czy istnieje sposób na modyfikację istniejących zestawów. Net bez uciekania się do narzędzi innych firm? Wiem, że PostSharp ... letny zestaw za pomocą klas konstruktora, prawda? Czyli musiałbyś przejść przez cały zespół ręcznie. Hmm, przyjrzę się temu.

Jakie są najlepsze zasoby do nauki CIL (MSIL)

Jestem doświadczonym programistą C # 3/. NET 3.5, który chce zacząć robić jakiś kod runtime używając systemu.Odbicie.Emituj.DynamicMethod. Chciałbym przejść na wyższy poziom, zapoznając się z IL. Jakieś wskazówki(Kalambury)?

Dlaczego klasy statyczne są uważane za" klasy " i "typy referencyjne"?

Zastanawiałem się dziś nad systemem Typu C# i CIL i zacząłem się zastanawiać, dlaczego klasy statyczne są uważane za klasy. J ... a" normalnymi " klasami, czy nie powinny one zostać przekształcone w osobny rodzaj typu zamiast specjalnego rodzaju zajęcia?