Вопросы по теме 'cil'

Silverlight 3.0 C # - Использование Methodbuilder для создания метода SET и добавление MSIL с помощью ILGenerator и Emit
Привет всем У меня есть код, который создает новую среду выполнения TYPE, он устанавливает методы GET и SET с помощью MethodBuilder. (Это пример из Интернета, и благодаря парню, который его написал, я, к сожалению, потерял ссылку на него, но он в...
1105 просмотров
schedule 10.06.2024

В общем, как преобразовать синтаксис ilasm в вызовы Reflection.Emit?
Я пишу специальный мини-компилятор и часто просматриваю дизассемблированный CIL, чтобы понять, как что-то делать. Но часто не очевидно, как транслировать дизассемблированный код в вызовы Reflection.Emit. Существует ли справочное руководство или...
680 просмотров
schedule 20.02.2024

F# Dynamic Eval, Reflection, IL
Поскольку я трачу 95% своего времени кодирования на F# FSI, я отклонился (см.: Отвлекся) и захотел написать несколько служебных функций. Конкретная утилита, которая меня интересует, — это функция «разборки»...
230 просмотров
schedule 16.11.2022

Дублирование вершины элемента стека в IL без вспомогательной переменной
Можно ли скопировать элемент верхнего стека и вернуть его обратно? Я знаю только о решении с использованием вспомогательной локальной переменной, например: stloc.n ldloc.n ldloc.n Существуют ли инструкции IL для копирования элементов стека?...
89 просмотров
schedule 16.01.2024

Состоит ли файл .exe, созданный компилятором C #, исключительно из Common Intermediate Language (CIL)?
Я просто пытаюсь лучше понять, что происходит в простом сценарии, когда следующий код добавляется в файл и сохраняется с расширением .cs: public class HelloWorld { public static void Main() { System.Console.WriteLine("Hello World!");...
2126 просмотров
schedule 14.05.2024

Когда я объявляю класс внутренним, почему IL показывает его как частный?
Если я объявляю класс внутренним, почему IL показывает его как частный? internal class Thing .class private auto ansi beforefieldinit Thing.Thing extends [mscorlib]System.Object
979 просмотров
schedule 27.07.2022

Почему «unbox.any» не предоставляет полезный текст исключения, как это делает «castclass»?
Чтобы проиллюстрировать мой вопрос, рассмотрим эти тривиальные примеры (С#): object reference = new StringBuilder(); object box = 42; object unset = null; // CASE ONE: bad reference conversions (CIL instrcution 0x74 'castclass') try { string s...
923 просмотров
schedule 30.05.2024

Почему локальные функции генерируют IL, отличный от анонимных методов и лямбда-выражений?
Почему компилятор C# 7 превращает локальные функции в методы в том же классе, где находится их родительская функция. В то время как для анонимных методов (и лямбда-выражений) компилятор создает вложенный класс для каждой родительской функции, который...
967 просмотров
schedule 21.01.2024

Цепочка конструкторов с Reflection.Emit/Sigil
Я пытаюсь создать следующий класс, используя Sigil , который является оболочкой Reflection. Испускают. public class Test { public Test(string arg1) { } public Test() : this("arg1") { } } Используя следующий код, я...
118 просмотров
schedule 12.08.2022

Связь между компиляцией в x86/x64 и MSIL
Итак, я знаю, что если вы скомпилируете для любого процессора, вы получите вывод MSIL. Если вы скомпилируете как x86, вы получите вывод x86. Мое понимание процесса выглядит следующим образом .NET Code -> Compiler -> MSIL -> JIT...
687 просмотров
schedule 04.07.2022

Как Box CIL работает внутри .net?
скажем, у нас есть следующий код С#: public static void Main() { int v = 5; Object o = v; v = 123; Console.WriteLine(v + (Int32) o); // Displays "1235" } и сгенерированный код IL: .locals init ([0]int32 v, [1] object...
79 просмотров
schedule 02.04.2024

Почему файлы DLL и EXE в контексте .NET называются сборками?
Коллега пожаловался, что переданная ему сборка (обычный DLL-файл C ++, не скомпилированный в NET) не работает. Я ответил Что ... сборка ?. Итак, прочитав этот учебник по точечной сети и аналогичный ТАК вопрос , насколько я понимаю, файлы DLL и...
60 просмотров
schedule 31.08.2022