Описание тега intermediate-language
Промежуточный язык в конструкции компилятора - это язык низкого уровня, который обычно напоминает идеализированный язык ассемблера, часто текстовое представление байт-кода для виртуальной машины. Для.NET CIL используйте тег [cil].
4
ответа
Какие инструменты выполняют модификацию IL после компиляции?
Недавнее упоминание о PostSharp напомнило мне об этом: В прошлом году, когда я работал, мы думали об использовании PostSharp для внедрения инструментов в наш код. Это было в среде Team Foundation Server Team Build / Continuous Integration. Размышляя…
16 июл '09 в 13:02
1
ответ
Модульные тесты C# и код в той же папке: вырезать тесты из скомпилированного двоичного файла
Я прочитал ответы на вопросы. Вы ставите модульные тесты в том же или другом проекте? и тогда (почти 10 лет назад) был достигнут консенсус - поставить модульные тесты в отдельный проект от кода, который они тестируют. Основная причина заключается в …
07 мар '18 в 11:27
1
ответ
ldloc var против ldloc.n
Кто-нибудь знает, если есть даже небольшая разница, используя ldloc var CIL инструкция и ldloc.n? Учитывая эту локальную таблицу переменных в области видимости метода: .locals init ([0] int32 a, [1] int32 b) Эти инструкции: ldloc.0 ldloc.1 лучше, ху…
01 апр '14 в 12:27
1
ответ
.NET IL Установщик свойств
Рассмотрим этот класс: public class Foo { // Fields private string _bar; // Properties private string Bar { get { return this._bar; } set { this._bar = value; } } } Теперь, когда я иду и смотрю в коде IL, испускаемом компилятором для установки Bar и…
15 ноя '10 в 13:21
0
ответов
Как выглядит операция сложения в промежуточном коде / трехадресном коде?
Если я напишу функцию следующим образом int sum(int i) { if(!i) return 0; return sum(i--) + i; //this line } Как компилятор представляет оператор возврата в терминах трехадресного кода / промежуточного кода? Есть ли 1) return i-- + sum(i) differ fro…
09 июн '14 в 15:26
1
ответ
Однопроходное представление промежуточного компилятора?
Я читал книгу о драконах и меня интересует однопроходные компиляторы, так что поправьте меня, если я ошибаюсь, но, поскольку компилятор проходит анализ, он генерирует более и более точное промежуточное представление, или, возможно, точное словом, мо…
09 мар '16 в 03:14
1
ответ
Вопросы о C как промежуточном языке
Я пишу язык, который компилируется в C прямо сейчас, и когда я говорю "IL", я имею в виду, что "C" - это язык, на котором я пишу код, чтобы затем генерировать сборку другим компилятором c, например, gcc или clang. Код C, который я генерирую, будет б…
01 окт '16 в 13:52
0
ответов
Перевод с языка Intermediate на машинные инструкции с тремя адресами
Я не уверен, с чего начать. Из того, что я понимаю, "VAR(x)" соответствует правилу 2, ":= VAR(x)" относится к правилу 5, а "+ NUM (1) относится к ссылке 3. Может ли кто-нибудь указать мне правильное направление? РЕДАКТИРОВАТЬ: С дальнейшими исследо…
25 май '18 в 19:31
1
ответ
Изменение кода IL, вызывающее исключение InvalidProgramException во время выполнения
Я пытаюсь удалить подписку на событие Tick в IL Code, чтобы оно никогда не срабатывало. Вот код IL: IL_0e19: ldftn instance void App.Framework.MainForm::mTimer_Tick(object, class [mscorlib]System.EventArgs) IL_0e1f: newobj instance void [mscorlib]Sy…
11 июн '18 в 11:18
1
ответ
Почему сборки с атрибутом SecurityTransparent заставляют инструментальный код через профилировщик генерировать исключение VerificationException?
Кажется, что когда я применяю инструмент для сборки, использующей OpenCover, сборки с атрибутом SecurityTransparent (и, кажется, AllowPartiallyTrustedCallers) выдают исключение VerificationException. Я хотел бы знать, почему это так и есть ли альтер…
28 авг '11 в 00:32
1
ответ
Прагматика типизированных промежуточных языков
Одной из тенденций в компиляции является использование типизированных промежуточных языков. Хаскеля ghc с этими core Промежуточный язык, вариант System F-omega, является примером этой архитектуры [ 1 ]. Другой - LLVM, в основе которого лежит типизир…
17 дек '15 в 13:41
2
ответа
C# компиляция в код MSIL
Есть ли у компилятора Microsoft C# (CSC.exe) возможность вывода файлов на промежуточном языке? Что-то вроде переключателя -S в GCC?
29 окт '09 в 18:26
0
ответов
Как ILEmit функцию из другой DLL?
Я пытаюсь создать файл.exe, и этот файл должен вызывать функцию, которая размещена в другой DLL. Я могу правильно загрузить DLL, и на тип и метод ссылаются правильно, но это выдает исключение, когда я пытаюсь вызвать метод Main: Common Language Runt…
15 ноя '18 в 21:45
4
ответа
Что произойдет, если мы добавим строки в код IL и добавим точки останова в нашу программу?
Если я добавлю, скажем, 1 строку в начале метода, если я установлю точку останова через Visual Studio в первой строке, будет ли она указывать на первую строку или вторую? Если он помечает неправильную строку, можем ли мы что-то сделать при редактиро…
08 авг '09 в 00:30
1
ответ
Плюсы и минусы графического и линейного промежуточного представления в дизайне компилятора?
В проекте компилятора кратко представлены два вида промежуточного представления (IR): графическое (например, дерево абстрактного синтаксиса) и линейное (например, LLVM IR). Каковы плюсы и минусы двух? Я заметил, что Clang реализовал и то и другое, н…
15 май '18 в 04:59
2
ответа
Как оценить значение переменной с помощью статического анализа?
Я хочу написать программу для этого, основанную на встроенном анализе Reot-Definition от Soot. Теперь мне интересно, это правильный подход? Я искал и обнаружил, что никто не заинтересован в этом направлении. Какие-либо предложения?
08 апр '14 в 07:37
1
ответ
Как работает обратный патч с маркерами?
Я искал по всему Интернету и не мог найти правильное объяснение того, как работает обратная рассылка? Не могли бы вы объяснить, как работает резервирование? Как это работает с маркерами? Я знаю, что у него есть 2 основных типа маркеров: со следующим…
22 янв '14 в 07:28
1
ответ
Параметры для динамического вызова методов в C#
Я видел довольно много вопросов, связанных с тем, как я могу вызвать метод, такой и тот. То, что я не нашел, - это список различных опций того, как вызывать метод через отражение или любым другим способом в csharp. Может кто-нибудь подробно объяснит…
10 ноя '09 в 14:42
1
ответ
Что касается псевдокода, что делает MoveNext в IAsyncStateMachine в MIL?
Я пытаюсь понять конечный автомат, который создается при использовании async-await, Я беру простой кусок кода C# using System; using System.Net; using System.Threading.Tasks; public class C { public static async Task<string> GetGoogleDotComHtm…
13 дек '16 в 21:15
2
ответа
Каковы некоторые очевидные оптимизации для виртуальной машины, реализующей функциональный язык?
Я работаю над промежуточным языком и виртуальной машиной для запуска функционального языка с парой "проблемных" свойств: Лексические пространства имен (замыкания) Динамически растущий стек вызовов Медленный целочисленный тип (bignums) Промежуточный …
12 июн '12 в 08:17