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

Можно ли кодировать в MSIL?
Мне просто любопытно узнать, можно это сделать или нет. Я не планирую делать это, если он не принесет значительных преимуществ в производительности. Я веб-разработчик и разработчик игр, но обычно я не разрабатываю игры на C #.
826 просмотров
schedule 14.11.2021

Вызов метода экземпляра для нулевой ссылки в IL
Верно ли, что метод экземпляра может быть вызван для нулевой ссылки в IL ..? Есть ли какой-нибудь пример, чтобы показать это ..?
1027 просмотров
schedule 17.10.2021

Как перенаправить объявление метода в C ++ / CLI, чтобы оно соответствовало сигнатуре метода Managed Extensions for C ++, который принимает ссылку на управляемый тип
Я хотел бы вызвать метод, компилируемый с /clr:oldsyntax (Управляемые расширения для синтаксиса C ++) из кода C ++, компилируемого с /clr (C ++ / CLI). Однако у меня возникли проблемы с прямым объявлением метода в C ++ / CLI, чтобы он...
958 просмотров
schedule 22.09.2021

Mono.Cecil: работа может дестабилизироваться во время выполнения
Я следил за подсказками здесь , я даже вставил следующие строки: var MSILWorker = prop.SetMethod.Body.GetILProcessor(); MSILWorker.Body.InitLocals = true; У меня есть два свойства в двух классах: [NotifyProperty] public int Number {...
303 просмотров
schedule 02.12.2021

.NET CLR - Как насчет новых архитектур ЦП и т. Д. При компиляции CIL в соответствии с инструкциями, зависящими от платформы?
Когда .NET CLR компилирует CIL в инструкции, зависящие от платформы, что он делает, если он компилируется на новой архитектуре ЦП (то есть на той, с которой он не знаком). Идет ли MS впереди всех и выпускает новые, оптимизированные функции компиляции...
524 просмотров
schedule 20.09.2021

Почему PEVerify говорит, что CLR ожидает одномерный массив для массивов статического размера?
Этот код не проходит проверку: .assembly extern mscorlib {} .assembly Program {} .method private static void Main() cil managed { .entrypoint .maxstack 3 .locals init ( int32[0 ... 10] a ) ldc.i4 10 newarr int32 stloc.0...
185 просмотров
schedule 17.11.2021

Вы видите оценочный стек в mdbg?
Скажем, у меня есть следующий CIL: ldc.i4 40 <- a breakpoint is set here ldc.i4.2 add box int32 call void [mscorlib]System.Console::WriteLine(string) Затем я использую ilasm /debug main.il для сборки файлов exe и pdb для использования в...
343 просмотров
schedule 07.10.2021

C # против JAVA. Какая польза от интерпретации байт-кода Java по сравнению с JITing?
Я читал это сравнение между JAVA и C # и меня заинтересовал этот оператор: ПРИМЕЧАНИЕ. В то время как платформа Java поддерживает интерпретацию байтового кода или байтового кода, который выполняется JIT, а затем выполняется в исходном режиме,...
429 просмотров
schedule 06.10.2021

NullReferenceException в сборке выпуска VS2015 C ++ / CLI
Я получаю «System.NullReferenceException: ссылка на объект не соответствует экземпляру объекта». в моей сборке релиза. Я создал образец приложения, которое имитирует то, что есть в моем производственном коде. void Abc::LogService::Log(String^...
340 просмотров
schedule 14.09.2021

Mono.Cecil Заменить аргумент в методе
Задача: Функция поиска всех звонков public static void WriteString(int index0, string s, int index1) { Console.WriteLine(s); } в SomeCnsl.exe и обернуть аргумент 's' в функции ChangeString public static string ChangeText(string...
962 просмотров
schedule 31.10.2021

Почему CIL поддерживает экземпляры, если он основан исключительно на стеке
В Common Intermediate Language (CIL) мы можем создавать экземпляры классов, которые не являются статическими. Это имеет смысл, если нам нужно хранить данные экземпляра между вызовами методов. Почему это необходимо в CIL, где все в любом случае...
90 просмотров
schedule 27.09.2021

Модификация кода C # IL - не трогайте стек
Этот вопрос касается статического анализа стека пользовательского кода C # IL и того, как разработать коды операций для удовлетворения требований компилятора. У меня есть код, который изменяет существующие методы C #, добавляя к нему мой...
303 просмотров

Код MSIL и сравнение машинного кода (.NET)
Какие упрощения делаются при компиляции кода MSIL на какой-то конкретный компьютер? Ранее я думал, что машинный код не имеет операций на основе стека и что все операции на основе стека в MSIL преобразуются в многочисленные операции перемещения...
105 просмотров
schedule 31.10.2021

Использование System.Reflection.Emit.ILGenerator для вызова Random в VB.Net?
Я генерирую вывод для исполняемого файла .Net с моего собственного языка ... код операции (называемый «Случайный»), который переводится с моего языка, должен создавать случайное число в определенном диапазоне. Цель моего кода - создать случайное...
700 просмотров
schedule 19.02.2022

Проверка MSIL
У меня есть MSIL в байтовом формате (результат отражения GetMethodBody ()), который я хотел бы немного проанализировать. Я хотел бы найти все классы, созданные с помощью оператора new в MSIL. Любые идеи о том, как это сделать программно?
1641 просмотров
schedule 01.03.2022

CIL - это язык ассемблера, а JIT - ассемблер
Действительно ли Just In Time Compiler (JIT) сопоставляет каждую из инструкций Common Intermediate Language (CIL) в программе с opcodes базового процессора? И если это так, можем ли мы называть CIL языком ассемблера, а JIT - ассемблером...
2732 просмотров
schedule 02.03.2022

VerificationException при попытке запустить DynamicMethod с аргументом Action.Method
Я пытаюсь запустить действие всякий раз, когда происходит событие, игнорируя параметры событий (по крайней мере, на данный момент). Я нахожу событие с помощью отражения, затем создаю динамический метод, соответствующий ожидаемой подписи (нет гарантии,...
447 просмотров
schedule 14.03.2022

Компилятор сгенерировал неверный код для анонимных методов [MS BUG FIXED]
См. Следующий код: public abstract class Base { public virtual void Foo<T>() where T : class { Console.WriteLine("base"); } } public class Derived : Base { public override void Foo<T>() {...
1061 просмотров
schedule 20.03.2022

Могу ли я использовать OpCodes.Ldsfld без использования FieldInfo?
Я хочу избежать использования GetType и GetField. Могу ли я просто использовать строку с Ldsfld? Я включил макет того, что я пытаюсь сделать ниже. Как видите, я новичок в IL Generation — я пытаюсь убрать часть затрат на отражение в своем...
272 просмотров
schedule 18.03.2022

Имеет ли значение установка платформы при компиляции приложения С#?
В VS2012 (и предыдущих версиях...) вы можете указать целевую платформу при создании проекта. Я понимаю, однако, что C# "компилируется" в CIL, а затем компилируется JIT при работе в хост-системе. Означает ли это, что единственные причины для...
379 просмотров