问题标签 [il]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
24723 浏览

.net - 如何在 Activator.CreateInstance 中传递 ctor args 或使用 IL?

我需要一个性能增强的 Activator.CreateInstance() 并且遇到了 Miron Abramson 的这篇文章,它使用工厂在 IL 中创建实例然后缓存它。(我在下面包含了来自 Miron Abramson 网站的代码,以防它以某种方式消失)。我是 IL Emit 代码和 Activator.CreateInstance() 之外的任何东西的新手,用于实例化一个类,任何帮助都会非常感激。

我的问题是我需要创建一个对象的实例,该实例需要一个带参数的 ctor。我看到有一种方法可以传入参数的类型,但是有没有办法也可以传入 ctor 参数的值?

如果可能的话,我想使用类似于CreateObjectFactory<T>(params object[] constructorParams)我想要实例化的某些对象可能有超过 1 个 ctor 参数的方法。

评论员在他的帖子 2010-01-11 上更新了 Miron 的代码

0 投票
1 回答
99 浏览

.net - 后锐利的 IL 级交互

所以我正在查看 PostSharp,我注意到这没有使用运行时生成的代理,但它实际上为编译过程提供了提示,以将这些方面包含在 IL 中。

所以我最初的想法是哇,这到底是怎么做到的。我应该在哪里寻找任何指示?

0 投票
1 回答
833 浏览

.net - IL 操作码修改

语言:VB.NET 3.5

IL操作码:

对应:

至少我相信确实如此。为了反映这一点,我必须对 IL 进行哪些更改:

0 投票
7 回答
929 浏览

.net - 深入了解 IL 对 .net 开发很重要吗

当我主要做 c++ 时,我认为了解汇编和编写一些非试用 asm 代码很重要,这样我才能真正理解发生了什么。我现在主要做.net,虽然我对 IL 有一些了解,但我并不精通。

IL 是一种应该具备的技能,还是会更完整地学习 IL 以了解我如何使用和编写 .net 代码?

0 投票
7 回答
1369 浏览

c# - .NET 编译器优化

我正在编写一个需要以极低的处理器速度运行的应用程序。该应用程序在整个运行过程中以创造性的方式创建和销毁内存,并且运行良好。发生了哪些编译器优化,所以我可以尝试构建它?

一个技巧是 CLR 处理数组比列表快得多,因此如果您需要处理列表中的大量元素,最好调用 ToArray() 并处理它,而不是一次又一次调用 ElementAt() .

0 投票
4 回答
1252 浏览

visual-studio - Visual Studio/RAD 是否支持直接在 IL 中编码?

很长一段时间以来,我一直对直接用中级语言编码作为一项学术努力感到好奇,以便更好地了解“幕后”正在发生的事情。

是否有人以下列形式为 *IL 提供 Visual Studio 支持:项目模板、IntelliSense 和 RAD 工具集成?

编辑:我并不是说仅限于开箱即用的功能。例如,我可以下载 Visual Studio 扩展以支持PythonCOBOL等。为 *IL 寻找相同的。

有一个独立的Intermediate Assembler工具,因此在 Visual Studio 之外已经具备对其进行编码和编译的能力。

0 投票
2 回答
830 浏览

.net - IL中的'if'块

我想我可能遗漏了一些重要的东西,但我似乎无法弄清楚如何使用动态方法在 IL 中构造条件语句。我以前只是轻轻地涉足它,但我现在需要扩展一些代码。

是否有一些我没有找到的文档(除了 CLI 文档),或者有人有一些示例代码?那太棒了。

干杯,

0 投票
2 回答
574 浏览

.net - 是否可以使用托管代码以编程方式检查程序集的 IL 指令?

见标题。Reflection.Emit 似乎更多的是关于创建一个新的动态程序集,而不是用于加载现有程序集并检查其 IL。

0 投票
1 回答
628 浏览

c# - 动态代码生成问题

这段代码 gif 异常:调用异常,请帮忙,我不知道发生了什么,我认为是 Add 的问题,因为当我推入堆栈整数时他工作,当我推左值时它没有工作,谢谢

0 投票
2 回答
513 浏览

.net - IL 前缀操作码有什么作用?

我一直在玩 IL,我注意到像Prefix1这样的 OpCodes ,文档基本上告诉我不要担心。自然,这让我很好奇这些不同的前缀操作码实际上做了什么。一个快速的谷歌搜索没有出现任何东西,所以我想我会在这里问专家。有人知道这些是什么意思吗?