Pytania oznaczone «cil»

Common Intermediate Language to zorientowany obiektowo język asemblera używany przez platformy .NET Framework, .NET Core i Mono. Języki .NET kompilują się do CIL, który jest składany w kod obiektowy, który ma format w stylu kodu bajtowego.

320
Jaki jest cel stosu? Dlaczego tego potrzebujemy?

Uczę się teraz MSIL, aby nauczyć się debugować moje aplikacje C # .NET. Zawsze zastanawiałem się: jaki jest cel stosu? Wystarczy umieścić moje pytanie w kontekście: dlaczego istnieje transfer z pamięci na stos lub „ładowanie”? Z drugiej strony, dlaczego istnieje przeniesienie ze stosu do...

140
Maszyna wirtualna Java i środowisko CLR

Jako rodzaj kontynuacji pytania o nazwie Różnice między kodem bajtowym MSIL i kodem bajtowym Javy? , jakie są (główne) różnice lub podobieństwa między sposobem działania wirtualnej maszyny języka Java a sposobem działania.NET Framework Common Language Runtime (CLR) działa? Również jest .NET...

110
Dynamicznie zamieniać zawartość metody C #?

Chcę zmienić sposób wykonywania metody C #, gdy jest wywoływana, aby móc napisać coś takiego: [Distributed] public DTask<bool> Solve(int n, DEvent<bool> callback) { for (int m = 2; m < n - 1; m += 1) if (m % n == 0) return false; return true; } W czasie wykonywania muszę być w...

97
Dziwny wzrost wydajności w prostym benchmarku

Wczoraj znalazłem artykuł Christopha Nahra zatytułowany ".NET Struct Performance", w którym porównano kilka języków (C ++, C #, Java, JavaScript) dla metody, która dodaje dwie struktury punktowe ( doublekrotki). Jak się okazało, wykonanie wersji C ++ zajmuje około 1000 ms (iteracje 1e9),...

92
Jaki jest cel hidebysig w metodzie MSIL?

Korzystanie z ildasm i programu C # np static void Main(string[] args) { } daje: .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 Co robi konstrukcja...

82
Jaki jest cel kodu operacji CIL nop?

Przechodzę przez MSIL i zauważam, że w MSIL jest wiele instrukcji nop . Artykuł MSDN mówi, że nie podejmują żadnych działań i są używane do wypełniania miejsca, jeśli kod operacji jest załatany. Są używane znacznie częściej w kompilacjach do debugowania niż w kompilacjach wydań. Wiem, że tego...