Все вопросы: [cil]

67 вопросов

похожие теги:
0
голосов
5ответов
128 просмотров

Normalizing .net generics

While rewriting an assembly if I were to instruct a compiler to generate a nongeneric type for each generic instance would the application just get bigger in code and yet have the same performance?

6
голосов
2ответов
2423 просмотров

c# ILGenerator nop?

Im generating some IL with the ILGenerator here is my code: DynamicMethod method = new DynamicMethod("test", null, Type.EmptyTypes); ILGenerator gen = method.GetILGenerator(); gen.Emit(OpCodes.Ldarg_0); gen.Emit(OpCodes.Ldarg_1); gen.Emit(OpCodes.Ldc_I4_S, 100); This generated this IL: IL_000...

13
голосов
2ответов
1070 просмотров

Is it possible to skip visibility checks when generating dynamic IL with MethodBuilder's?

When generating IL using DynamicMethod it's possible to call methods and access fields that would be otherwise un-accessible if you provide 'true' for the restrictedSkipVisibility parameter in the DynamicMethod constructor I would prefer to emit dynamic IL into a dynamic assembly instead so I ca...

6
голосов
2ответов
1042 просмотров

MSIL Question (Basic)

Well lets say we have this c# code: public override void Write(XDRDestination destination) { destination.WriteInt(intValue); destination.WriteBool(boolValue); destination.WriteFixedString(str1, 100); destination.WriteVariableString(str2, 100); } IL: .method public hidebysig vi...

0
голосов
1ответов
130 просмотров

PEVerify Warning Parameter out of Sequence

I've built an assembly using Reflection.Emit. Running PEVerify returns 214 warnings of the same type: [MD]: Warning: Parameter out of sequence (parameter: 1; seq.num: 1). [token:0x06000171] Unfortunately there isn't much documentation around these sort of issues. I'm guessing because it's a m...

1
голосов
2ответов
240 просмотров

I am trying to make an obfuscator

This is kind of a two part question. But it both relates to the same thing. I want to work with the IL code of an app to apply patches. I am wondering what would be the right approach. Obviously I could decompile it and read and edit the il code file then recompile. but is there some way to read...

4
голосов
4ответов
820 просмотров

Is it possible to Code in MSIL?

I am just curious to know if this can be done or not. I don't plan on doing it if it dosen't pack some significant performance benefits. I am a web and game developer but I usually don't develop games in c#.

1
голосов
2ответов
804 просмотров

Compiling code directly into MSIL

Is there a way to complie code directly into Native Code instead of MSIL so that we can bypass JIT while executing the code on machine. If its possible. Please let me know the technique also. Thanks

11
голосов
2ответов
1752 просмотров

Passing a lambda to a secondary AppDomain as a stream of IL and assembling it back using DynamicMethod

Is it possible to pass a lambda expression to a secondary AppDomain as a stream of IL bytes and then assemble it back there using DynamicMethod so it can be called? I'm not too sure this is the right way to go in the first place, so here's the (detailed) reason I ask this question... In my appl...

2
голосов
1ответов
576 просмотров

OnExit is not entering via PostSharp in asp.net project

I have setup PostSharp and it appears to be working but i don't get it entering OnExit (i have logged setup to ensure it is working) ... Its a bit tricky to configure with asp.net - or is it just me ... I am using the 1.5 new version I basically have the following in my web.config and i had to ...

6
голосов
1ответов
1071 просмотров

"Operation could destablize the runtime" and DynamicMethod with value types

I'm trying to generalize the following IL (from Reflector): .method private hidebysig instance void SetValue(valuetype Test.TestFixture/ValueSource& thing, string 'value') cil managed { .maxstack 8 L_0000: nop L_0001: ldarg.1 L_0002: ldarg.2 L_0003: call instance void ...

5
голосов
2ответов
1531 просмотров

Feeding an object literal to ILGenerator

Food obj = ...; ILGenerator gen = (...).GetILGenerator(); gen.Emit( ?? obj ?? ); // replace this gen.Emit(OpCodes.Call, typeof(Person).GetMethod("Eat")); It's apparently not possible to cleanly push obj onto the evaluation stack, but I am open to ugly hacks which might compromise e.g. portabil...

12
голосов
1ответов
2159 просмотров

Iterator block generates try-fault in IL

After experimenting with an iterator block I noticed the generated IL code is not what I expect it to be. Instead of a try-finally block a try-fault block is generated, which I have never seen. I noticed that the compiler doesn't allow me use the fault keyword in 'handwritten' C#. Is there any d...

4
голосов
2ответов
510 просмотров

How to add the .entrypoint directive to a method (dynamic assembly)

I want to create a simple application using the classes in System.Reflection.Emit. How can I add the enrypoint directive to the Main method? AssemblyName aName = new AssemblyName("Hello"); AssemblyBuilder aBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(aName, AssemblyBuilderAccess.Save)...

0
голосов
2ответов
410 просмотров

Ссылка на this в динамическом обработчике событий

В моем классе myClass я использую Reflection.Emit для динамического написания обработчика событий для одного из членов класса myClass. Я успешно это сделал. Теперь я хочу изменить обработчик событий для вызова одного из методов экземпляра в классе myClass. Однако я не могу понять, как п...

3
голосов
2ответов
654 просмотров

Каков формат подписи для метаданных общих методов в .NET 2.0 / C #?

Например, параметры в методе, использующем ключевое слово out в C #, будут отображаться в подписи метаданных, перед которой стоит амперсанд &. Я пытаюсь создать подпись для универсального метода, но не хочу использовать API метаданных, чтобы понять это, наверняка это где-то задокументировано...

6
голосов
3ответов
339 просмотров

Изменился ли .Net IL вообще с .Net 2.0?

Я слышал такое заявление до того, что .Net 3.5 не внес никаких изменений в IL, в который он компилируется. После обдумывания всех функций компилятора, которые, как я знаю, были введены, действительно кажется, что все они могут быть реализованы в одном и том же старом IL, но я не могу найти офици...

0
голосов
3ответов
328 просмотров

Java и ASP.NET

Кто-нибудь может рассказать мне разницу между JVM и MSIL?

5
голосов
2ответов
1083 просмотров

Может кто-нибудь объяснить эти несколько строк MSIL?

Кто-нибудь может объяснить эти несколько строк MSIL? Почему он перемещает значение из стека оценки в локальную переменную только для того, чтобы немедленно вернуть его и вернуть? Следующий код MSIL загружает один аргумент (строку), вызывает метод, который возвращает bool, а затем возвращает э...

14
голосов
1ответов
329 просмотров

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

Компилятор C #, кажется, явно отмечает все интерфейсы, которые он реализует, и его базовые классы. Спецификации CLI говорят, что это не обязательно. Я видел, как некоторые другие компиляторы не выдают это явно, и, похоже, он работает нормально. Есть ли разница или причина, по которой C # делает ...

2
голосов
2ответов
2899 просмотров

Можно ли вообще расширить System.Delegate?

Невозможно наследовать от System.Delegate или System.MulticastDelegate в C #. Это вполне возможно сделать в MSIL, если вы объявите стандартные методы, управляемые во время выполнения. Однако каждый раз, когда я добавляю к типу метод cil managed, я получаю: System.TypeLoadException: недопусти...

3
голосов
3ответов
446 просмотров

Можно ли получить MSIL делегата C #?

Просто из любопытства ... можно ли программно получить MSIL делегата? Мне любопытно, потому что я раздумывал над идеей распределенной вычислительной системы, в которой вы можете просто писать программы, а сама программа будет распространяться на каждый разрозненный узел, где будет выполняться ра...

12
голосов
5ответов
5758 просмотров

Преобразован ли C ++ в ПОЧТУ?

Я долгое время был разработчиком C # и .Net и обдумывал идею изучения C ++. Одна из основных причин, по которой я думал об этом, заключается в том, насколько C ++ может быть быстрее приложений, использующих платформу .Net. Но правильно ли я предполагаю, что если я напишу приложение C ++ в Vis...

1
голосов
2ответов
251 просмотров

Отображение содержимого стека

Я запускаю MSIL внутри Visual Studio или через Mdbg. Есть ли способ отобразить содержимое стека MSIL? например если я выполняю ldloc "некоторая переменная", есть ли способ посмотреть на стек и увидеть, что переменная теперь находится в стеке. Я предполагаю, что стек MSIL не совпадает со...

5
голосов
2ответов
356 просмотров

MSIL: лишняя ветка

Обратите внимание на этот фрагмент кода C #: static string input = null; static string output = null; static void Main(string[] args) { input = "input"; output = CallMe(input); } public static string CallMe(string input) { output = "output"; return output; } Диссассе...

16
голосов
4ответов
4693 просмотров

Почему так просто декомпилировать код .NET IL?

Почему декомпилировать IL-код .NET в исходный код так просто по сравнению с декомпилированием собственных двоичных файлов x86? (Reflector в большинстве случаев создает неплохой исходный код, в то время как декомпилировать вывод компилятора C ++ практически невозможно.) Это потому, что IL соде...

3
голосов
1ответов
1385 просмотров

Запуск MSIL внутри Visual Studio

У нас есть Visual Studio 2005 Я могу успешно запускать программы MSIL из командной строки с помощью ilasm. Я хотел бы иметь возможность запускать их внутри VS. Судя по другим сообщениям и поискам, вам нужно создать проект типа «Консольное приложение»? (Они намекают на тот факт, что VS м...

92
голосов
3ответов
16469 просмотров

Какова цель hidebysig в ​​методе MSIL?

Использование ildasm и программы на C #, например static void Main(string[] args) { } дает: .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::Ma...

6
голосов
1ответов
3487 просмотров

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

Я немного поработал с MSIL и наткнулся на ссылки на эти три отладчика. В чем разница между ними? Один из них лучше остальных? функциональность? Есть ли другие, которых я пропустил?

6
голосов
6ответов
2188 просмотров

IDE для MSIL

Существует множество вопросов о MSIL на SO, но ни один из них не дает прямого ответа. Я использовал Textpad , в котором есть файл определения синтаксиса для MSIL, а затем использовал ILASM в окно командной строки. Я нашел ссылку на ILIDE, но ссылка не работает. Есть ли IDE или надстрой...