gpt4 book ai didi

c# - CLR运行时生成编译

转载 作者:太空宇宙 更新时间:2023-11-03 19:33:04 25 4
gpt4 key购买 nike

我有一个 C# 应用程序,它在运行时生成 .NET 函数并执行它们。为此,它以字符串形式生成 C# 并调用在线 C# 编译器将其转换为 CLR 以进行 JIT 编译和执行。

出于性能原因,我希望能够直接生成 CLR(在字符串中或通过内部表示)并在不使用任何编译器(但可能是 JIT 编译器)的情况下执行它。

这可能吗?我看过一些关于代码注入(inject)的文章,但这并不完全符合要求。

谢谢!

最佳答案

我怀疑System.Reflection.Emit是你所追求的。特别是,如果你只想生成一个方法,我相信你应该看看 DynamicMethod .你可以问create an ILGenerator ,构建 IL,然后在将方法转换为委托(delegate)时进行 JIT 编译。

我不相信你可以只给它文本 IL...你将使用 API,显式构建各种指令。虽然可能有一个 IL 解析器使用它......

关于c# - CLR运行时生成编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3827918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com