Pytania otagowane jako 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.

7
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 pamięci lub „przechowywanie”? Dlaczego po prostu …
320 c#  .net  vb.net  cil  .net-assembly 

20
Co możesz zrobić w MSIL, czego nie możesz zrobić w C # lub VB.NET? [Zamknięte]
W obecnym stanie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi będą poparte faktami, referencjami lub ekspertyzą, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i prawdopodobnie ponownie otworzyć, odwiedź centrum pomocy, aby uzyskać …
165 c#  .net  clr  cil 


5
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 Framework CLR „maszyna wirtualna” czy nie ma atrybutów maszyny …

9
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 …
110 c#  methods  assemblies  cil  swap 

3
Dlaczego ten warunek (null ||! TryParse) powoduje „użycie nieprzypisanej zmiennej lokalnej”?
Poniższy kod powoduje użycie nieprzypisanej zmiennej lokalnej „numberOfGroups” : int numberOfGroups; if(options.NumberOfGroups == null || !int.TryParse(options.NumberOfGroups, out numberOfGroups)) { numberOfGroups = 10; } Jednak ten kod działa dobrze (chociaż ReSharper twierdzi, że = 10jest zbędny): int numberOfGroups = 10; if(options.NumberOfGroups == null || !int.TryParse(options.NumberOfGroups, out numberOfGroups)) { numberOfGroups = 10; …

4
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), podczas gdy C # nie może zejść poniżej …

3
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 hidebysig?
92 cil 



19
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 rodzaju instrukcje są …
82 assembly  bytecode  cil 


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.