1
ответ

CIL, CLS и CTS в.NET

Каковы CIL, CTS и CLS в.NET и каково различие между ними?
вопрос задан: 22 January 2013 10:19
1
ответ

Почему jmp инструкция CLR не поддается проверке?

Я знал о jmp инструкции некоторое время, но она никогда, казалось мне, не была даже удаленно небезопасна. Я недавно имел причину проверить спецификации CIL и был очень удивлен обнаружить, что jmp рассматривают...
вопрос задан: 30 June 2012 04:21
1
ответ

Используя ДОЛЛАР для (прежде всего), статической компиляции языка

Я создаю компилятор, который предназначается для.NET, и я ранее генерировал CIL непосредственно, но генерирующиеся деревья ДОЛЛАРА сделают мою жизнь изрядным количеством легче. Я поддерживаю несколько динамических функций, а именно...
вопрос задан: 6 June 2012 23:18
1
ответ

Блок итератора генерирует отказ попытки в IL

После экспериментирования с блоком итератора я заметил, что сгенерированный код IL не то, чем я ожидаю, что это будет. Вместо попытки наконец блокируются, блок отказа попытки сгенерирован, который я никогда не видел. Я...
вопрос задан: 14 June 2010 10:44
1
ответ

Почему я должен сделать ldarg.0 прежде, чем назвать поле в MSIL?

Я хочу вызвать функцию, с как параметры строка и Int32. Строка является просто литералом, Int32 должен быть полем. Таким образом, я думал, что это должно быть что-то как: общественность .method hidebysig...
вопрос задан: 23 November 2009 19:22
1
ответ

Только для указанных целей в сборке конечных версий кода F#

Я играю с F# в VS2010 beta2, и так как я плохо знаком с F#, я просто выбрал один из типичных примеров и шел вперед и реализовал функцию факториала как: позвольте rec факториалу n = если n <= 1...
вопрос задан: 23 October 2009 19:42
1
ответ

Stringbuilder в CIL (MSIL)

Я пытаюсь сгенерировать код, который берет StringBuilder и пишет значения всех свойств в классе к строке. У меня есть следующее, но я в настоящее время получаю "Маркер недопустимого метода"...
вопрос задан: 20 October 2009 20:08
1
ответ

c# ILGenerator только для указанных целей?

Я генерирую некоторый IL с ILGenerator, вот мой код: метод DynamicMethod = новый DynamicMethod ("тест", пустой указатель, Тип. EmptyTypes); генерал ILGenerator = метод. GetILGenerator (); Генерал Испускает (OpCodes....
вопрос задан: 30 September 2009 13:57
1
ответ

Действительно ли возможно пропустить проверки видимости при генерации динамического IL с MethodBuilder?

При генерации IL использование DynamicMethod возможно назвать методы и поля доступа, которые были бы в других отношениях недоступны, если Вы обеспечиваете 'верный' для restrictedSkipVisibility параметра в...
вопрос задан: 29 September 2009 18:20
1
ответ

Почему компилятор C# явно объявляет все интерфейсы, которые реализует тип?

Компилятор C#, кажется, явно отмечает все интерфейсы это и его реализация базовых классов. В спецификациях CLI говорится, что это не необходимо. Я видел, что некоторые другие компиляторы не испускают это явно и это...
вопрос задан: 17 April 2009 06:07
1
ответ

Отладчики MSIL - Mdbg, Dbgclr, Cordbg

Я делал некоторую работу MSIL и столкнулся со ссылками на эти три отладчика. Каково различие между ними? Является один из них лучше, чем другие wrt. функциональностью? Есть ли другие...
вопрос задан: 17 March 2009 19:10
0
ответов

Профилирование динамического вывода

Я работаю над профилировщиком MSIL и столкнулся с проблемами с обратными вызовами ManagedToUnmanagedTransition и UnmanagedToManagedTransition интерфейса ICorProfilerCallback. Я хочу получить...
вопрос задан: 26 February 2019 21:33
0
ответов

Что на самом деле делает Array.Clear под прикрытием?

Я ищу ответ на вопрос, что делает метод Array.Clear(...) под прикрытием в C#. Я просмотрел IL, но это не дает никаких подсказок, поскольку он просто вызывает System.Array::...
вопрос задан: 17 October 2018 18:23
0
ответов

Mono.Cecil позаботится о филиалах и т. Д. Местонахождение?

Ну, этот вопрос может показаться странным, но это просто - моя точка зрения, если у меня есть «GOTO» (BRTRUE ITC) в декомпилированном коде, например, вызов ***** IL_0003: RET и I добавляю команду после этого *** ...
вопрос задан: 29 June 2018 09:12
0
ответов

Создание DynamicType в .NET, реализующего интерфейс, но использующего реализации членов из базового класса

Я пытаюсь создать динамический класс, реализующий интерфейс, но где один или несколько членов уже существуют в базе. Я скомпилировал следующий код на C # и изучил его в рефлекторе ...
вопрос задан: 2 June 2018 04:17
0
ответов

Компилятор сгенерировал неверный код для анонимных методов [MS BUG FIXED]

См. Следующий код: открытый абстрактный класс Base {public virtual void Foo < T > () где T: class {Console.WriteLine ("base"); }} открытый класс Derived: Base {public ...
вопрос задан: 21 February 2018 17:49
0
ответов

Одновременно отладка через промежуточный язык (IL) и C # в Visual Studio

Я ищу расширение для Visual Studio, где в режиме отладки можно выполнить пошаговый переход через промежуточный язык помимо C #. Я не ищу решения для управляемой отладки и ...
вопрос задан: 30 September 2017 16:28
0
ответов

Azo zahana amin'ny bytecode ny rindrambaiko C / C ++ hovonoina any aoriana? (Rindrambaiko unix mahaleo tena Architecture.)

Te-hanangona rindrambaiko efa misy ao anaty fampisehoana aho izay afaka mandeha amin'ny maritrano samihafa (sy OS). Ho an'izany dia mila kaody (byte) izay azo zahana / alaina tahaka amin'ny andohalambo / OS hafa (...
вопрос задан: 13 August 2017 15:09
0
ответов

Есть ли простой способ получить все локальные переменные в текущем кадре стека в C # (или CIL)

Следуя моему предыдущему вопрос, в котором я хотел выгрузить все переменные в стеке (из текущего и всего предыдущего кадра), который можно увидеть здесь: Есть ли способ проверить стек ...
вопрос задан: 23 May 2017 10:29
0
ответов

Как мне перевести CIL в LLVM IL?

Я хочу скомпилировать C # в LLVM IL. Поэтому я думаю, что перевод скомпилированного CIL в LLVM IL - это один из способов, который я могу попробовать. Я могу использовать некоторые инструменты, например vmkit и mono-llvm. Кто-нибудь использует эти инструм
вопрос задан: 1 April 2017 09:54
0
ответов

Неявное преобразование в System.Double с обнуляемой структурой через локальные переменные, сгенерированные компилятором: почему это не удается?

Почему возникает исключение InvalidCastException с учетом следующего? Я не понимаю, почему это должно быть вне ошибки (это в x86; x64 вылетает с 0xC0000005 в clrjit.dll). программа класса {...
вопрос задан: 29 October 2016 06:55
0
ответов

Для чего нужен стек? Зачем он нам?

Итак, я изучаю MSIL прямо сейчас, чтобы научиться отлаживать свои приложения C # .NET. Я всегда задавался вопросом: для чего нужен стек? Просто чтобы сформулировать свой вопрос в контексте: Почему происходит передача из ...
вопрос задан: 17 April 2016 11:52
0
ответов

Почему компилятор C # переводит это! = Сравнение, как если бы оно было > сравнение?

Я случайно обнаружил, что компилятор C # превращает этот метод: static bool IsNotNull (object obj) {return obj! = Null; }… В этот CIL: .method private hidebysig static bool ...
вопрос задан: 19 July 2015 08:30
0
ответов

Сохранение DynamicMethod на диск

Я унаследовал код который использует DynamicMethod для создания методов во время выполнения. Мне также нужно изменить часть создаваемого кода. Поскольку я новичок в MSIL, я бы хотел иметь возможность ...
вопрос задан: 13 March 2015 20:12
0
ответов

Существует ли бесплатный инструмент, способный удалить неиспользуемый код из сборки CLI? [закрыто]

Существует ли бесплатный инструмент, способный удалить неиспользуемый код из сборки CLI? Я знаю, что есть обфускаторы, способные выполнять эту оптимизацию, но все они стоят денег. Есть ли бесплатный (или ...
вопрос задан: 18 September 2013 13:24
0
ответов

В чем разница между обычными и сокращенными кодами операций в CIL?

Я просматриваю различные коды операций в CIL и нахожу много похожих кодов, таких как Beq, Beq_S Bge, Bge_S Bgt, Bgt_S Br, Br_S Где S якобы «краткая форма». Что это значит ??
вопрос задан: 12 February 2013 01:07
0
ответов

Почему `OpCode.Value `имеет «неправильный» порядок следования байтов?

Факты :Правильным кодированием для кода операции -повторного генерирования инструкции CIL является последовательность из двух -байтов FE 1A. OpCodes.Rethrow.Value (, который имеет тип short ), имеет значение 0xFE1A на моей маленькой -машине с порядком бай
вопрос задан: 18 August 2012 07:47
0
ответов

Как CLR получает доступ к стеку C #?

это может быть очень простой вопрос, но я не смог найти ответ здесь, на SO, и не знал никого, кого я задал ответ :Я могу написать простой метод c #, подобный этому :private void foo (){инт а = 1; инт...
вопрос задан: 31 July 2012 13:45
0
ответов

IL generics -Какие существуют правила, когда используется !T вместо !0?

Я пишу инструмент статического анализа IL, и мне трудно понять правила, определяющие, как ссылаться на параметры универсального типа :взять этот IL (из интерфейса IList ):...
вопрос задан: 13 July 2012 19:52
0
ответов

Сгенерированный компилятором запечатанный класс для ключевого слова делегата содержит виртуальные методы

Когда в C #используется ключевое слово delegate, компилятор C #автоматически создает класс, производный от класса System.MulticastDelegate. Этот сгенерированный компилятором класс также содержит 3 метода :Invoke,...
вопрос задан: 11 July 2012 10:02