cil 相关问题

Common Intermediate Language是.NET Framework和Mono使用的面向对象的汇编语言。 .NET语言编译为CIL,CIL被组装成具有字节码样式格式的目标代码。


CIL nop操作码的目的是什么?

我正在经历MSIL,并注意到MSIL中有很多nop指令。 MSDN文章说,如果对操作码进行了修补,它们将不采取任何措施,并被用于填充空间。他们用了很多...

回答 20 投票 81

“无法解析T [] modreq(System.Runtime.CompilerServices.IsVolatile)”

用户报告了以下错误消息:无法解析T [] modreq(System.Runtime.CompilerServices.IsVolatile)这是令人反感的代码行:public static TypeDefinition ...

回答 1 投票 0

使用IL Emit从IL堆栈顶部获取值

我有一个LocalBuilder,它本质上是一个数组。我可以在IL中使用它,也可以使用OpCodes.Ldlen加载它的长度。我只是想知道,是否有任何方法可以从顶部获取长度...

回答 1 投票 1

如何将DynamicMethod标记为SecurityCritical?

我正在使用此TaskFromEvent方法的稍作修改的版本。它基本上会创建一个在事件触发时完成的任务。这可以通过使用DynamicMethod并发出IL代码来实现。 ...

回答 1 投票 0

Generating enumerator.Current而不是(int)((List 。Enumerator *)(byte *)enumerator)-> Current

我目前正在使用API 。每当用户用某种属性标记类型时,我都想创建一个新的List 字段并遍历它,执行一些操作。这是一些...

回答 1 投票 0

[包含字符串的结构的C#性能与包含字符串的类的性能

[请查看以下两个小示例:public struct Struct {public readonly string StringValue;公共只读int IntValue;公共Struct(string stringValue){this ....

回答 2 投票 0

为什么无法在IL代码中找到委托的Invoke方法主体?

我为我的TestDelegate公共委托反编译了源int TestDelegate(int a,int b);当我查看此IL代码时,为什么不能找到Invoke方法?我也无法在委托中找到其他方法。 ...

回答 1 投票 2

为什么无法在委托类上找到Invoke方法主体?

我为我的TestDelegate公共委托反编译了源int TestDelegate(int a,int b);当我查看此IL代码时,为什么不能找到Invoke方法?我也无法在委托中找到其他方法。 ...

回答 1 投票 1

CLR内部调用用什么语言编写?

在Pro .NET性能中第86页的底部-优化您的C#应用 程序,它讨论ValueType.Equals()的实现,并说这:CanCompareBits和...的定义]]

回答 1 投票 4

为使用Java的ANTLR 4为编译器生成程序的字节码

我目前正在为使用ANTLR 4和Java的特定编程语言开发编译器,现在我想为使用该特定languaje编写的任何程序生成字节码或CIL ...] >>

回答 1 投票 0

“操作可能破坏运行时”和具有值类型的DynamicMethod

我正在尝试归纳以下IL(来自Reflector):.method私有hidebysig实例void SetValue(valuetype Test.TestFixture / ValueSource&something,string'value')cilmanaged {....

回答 1 投票 6

C#编译器为何将此!=比较翻译为>比较?

我完全有机会发现C#编译器使用了这种方法:static bool IsNotNull(object obj){return obj!= null; }…进入此CIL:.method私有hidebysig静态布尔...

回答 1 投票 147

使用反射发射将现有对象加载到堆栈顶部

我正在尝试实现方法拦截,目前正在通过创建代理来实现,该代理将返回具有相同字段和属性的动态创建的对象。但是,方法......>

回答 1 投票 0

这是传递给具有in关键字的方法的只读结构的防御性副本

我正在尝试将只读结构传递给具有in修饰符的方法。当我查看生成的IL代码时,似乎已经构造了只读结构的防御性副本。只读结构定义为...

回答 1 投票 3

在在x86 / x64和MSIL编译的关系

所以,我知道,如果你编译所有的CPU,你会得到一个MSIL输出。如果编译为X86,你会得到一个x86输出。我的认识过程是类似如下.NET代码 - >编译器 - > ...

回答 1 投票 1

构建一个调试器我的自定义.NET语言[复制]

可能重复:什么是一个很好的方法来构建一个调试器的.NET语言?我有我想建立一个调试器Lisp风格的语言。我的语言是在这里 - HTTPS://github.com / ...

回答 1 投票 4

C#/ CIL:native int的类型

我正在编写一些工具来帮助验证在运行时发出的IL。此验证的一部分涉及维护堆栈 随着OpCodes的发布,以便未来使用的OpCodes ......

回答 1 投票 3

是否有工具在Visual Studio中选择一些代码并让它显示相应的MSIL?

最近我发现自己经常运行ILDASM来研究程序的MSIL输出。是否有任何实用程序来简化这个?理想情况下,选择一些源代码并且有......

回答 3 投票 6

我是否需要编写自己的非托管IL库来使用CLR Profiling API重写IL?

我一直在查看CLR Profiling API的一些文章,其中许多文章都讨论了调用SetILFunctionBody()来进行实际的IL重写;但是,这些文章都不是......

回答 5 投票 7

© www.soinside.com 2019 - 2024. All rights reserved.