问题标签 [runtime-compilation]

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 投票
1 回答
87 浏览

c++ - 标准库或 Boost 中有什么东西可以在运行时编译 dll 吗?

在 C# 中,我可以使用它CSharpCodeProvider来获取文件并即时编译它。

我想为 C++ 做同样的事情。本质上,我正在尝试从运行时指定的文件编译 .dll并将其动态链接到正在执行的程序。

我确信那里有一些疯狂的库可以做到这一点,但我希望标准库或 Boost 中有一个库可以做到这一点。有人知道吗?

0 投票
1 回答
2194 浏览

c++ - 在运行时编译和 C++ 中的#include 自定义标头

我需要在运行时编译和链接一些代码。我正在使用这里建议的方法:https ://stackoverflow.com/a/10565120/3038460

基本上我正在将我的代码写入 .cpp 文件,然后使用

一切正常,而我只#include来自标准库的标题。但是如果我需要在“动态”代码中使用自定义类怎么办?如何包含我自己的标题?.cpp 文件临时存储在我的二进制文件的同一位置,这可能与我的源文件的位置不同。有没有办法在运行时知道原始源代码的位置?我怀疑。

此外,即使原始源代码不可用,我也希望我的代码能够工作。

澄清一下,mysource.cpp 可能如下所示:

解决此问题的最佳解决方案是什么?

0 投票
1 回答
1613 浏览

c# - 使用 Func 调用 RuntimeHelpers.PrepareMethod 时不起作用在通用类中创建

我目前正在对 Moq 框架进行扩展,以模拟非虚拟方法的实现。我目前已经通过获取原始方法的方法句柄并将其与用户定义的 Func 的指针交换来进行此工作。

我仍然遇到的一个问题是,当我在 Moq 内部代码(在使用泛型的类中)创建 Func 时,我遇到了 RuntimeHelpers.PrepareMethod 的问题。(在我们执行指针交换之前,需要准备好 Func)。

当我在普通类(例如程序)中创建完全相同的 Func 时,一切正常。

进一步调查该问题可以追溯到调用类是否具有通用参数。

抛出异常:

我在以下代码块中隔离了问题:

我还查看了当前的开源 CoreCLR 代码,但无法找出问题所在。

CoreCLR: https ://github.com/dotnet/coreclr/blob/master/src/vm/reflectioninvocation.cpp

异常被抛出: 2435, 2444, 2447

有谁知道如何解决这个异常?

0 投票
2 回答
1093 浏览

c# - 如何在运行时导入 C# monobehavior 脚本并将其添加到组件中?

我是 Unity3D 的新手,我制作了一个生成新 C# 脚本的脚本(暂时在 void Start() 上)。这个 C# 脚本必须在制作完成后添加到游戏对象中。我试图找到一种在运行时导入此脚本的方法,但我完全迷失了。

以下脚本附加到同一个游戏对象,并且生成的脚本也必须作为组件添加到同一个游戏对象。

这会生成脚本:

这会尝试找到脚本并将其添加到游戏对象中:

如果在程序第一次运行时关闭最后一个脚本并在程序第二次运行时打开(当然因为 Unity 有时间编译脚本),则该脚本可以工作。

很感谢任何形式的帮助!

一个

0 投票
3 回答
678 浏览

java - Java 运行时编译和类文件生成

处理需要编译多个源文件(.java)并在运行时生成相应的类文件( .class)的应用程序,这发生在应用程序启动时。

目前使用以下代码进行类生成:

每个 *.java 文件几乎都只有大约 40 行代码和一个方法。但是上面给定的代码编译时间大约是每个文件2 秒。

应用程序有超过 1000 个或有时 2000 个 java 文件。因此应用程序启动时间超过 2000 或 4000 秒,这是不可取的。

有什么选择com.sun.tools.javac.Main.compile吗?

还是一种更好或更快的运行时编译和类文件生成方式?

我不能使用多线程,因为环境是单线程的。

0 投票
0 回答
248 浏览

vb.net - 在 Windows 10 上运行时编译 vb.net 时出现 BC31019 异常

我们正在非常动态地生成大量文档。因此,我们连接源代码并在运行时构建一个 dll。这是从 Windows XP 开始运行的。现在我们正在测试 Windows 10,它无法编译这个 dll,并出现错误“BC31019: Unable to write to output file 'C:\Users[name]AppData\Local\Temp\xyz.dll': The specified image file did不包含资源部分”

出于测试目的,我们删除了所有生成的源代码,并将其替换为仅具有一个函数(使用指定文本抛出异常)且没有引用程序集的基本类。这也在除 Windows 10 之外的所有机器上运行。同样的错误。

有人能猜到为什么吗?

这是初级方法

0 投票
1 回答
69 浏览

c - 在spoj toandfro classic中的C中出现运行时错误

这是问题的链接。 http://www.spoj.com/problems/TOANDFRO/ 这是我的代码的链接 http://ideone.com/w5wafl 在键盘上,它说浮点异常。这是指向键盘 http://codepad.org/FW9bKp5k的链接(删除空格 bw code--pad)为什么它会给出运行时错误。是因为字符串或数组中的错误。我把代码放在这里。

0 投票
1 回答
414 浏览

compilation - f# 中的不完整模式匹配

考虑以下代码:

当粘贴在运行 fsharpi 的终端上时,它给了我这个错误

有什么建议么?我尝试同时使用两者:仅 TAB 和空格,但在函数之后它不识别任何内容。

0 投票
1 回答
385 浏览

c# - CodeDom编译期间字符串输入中的动态关键字

为了将字符串转换为代码,我使用了 CodeDom 编译器。
我说的是在运行时编译 C# 代码!
特别是我想用几个类型可以不同的参数进行运行时编译。

这段代码工作得很好!
但正如我之前告诉过你的,我不是在谈论 int 类型参数。
我说的是运行时不同情况下不同类型的输入参数!

如果我会输入

代替

然后我会收到一条错误消息:

请告诉我为什么?

也看看里面...

当我尝试打字时

代替

它向我显示一条错误消息:

但是当我试图打字时

编译失败并且没有关于错误的消息!
我想我缺少参考!
dynamic 关键字可用于 .net 4.0
我已经写过:

但是没有结果!

请帮我!

0 投票
1 回答
445 浏览

c# - 从范围“”引用的“System.Data.DataRow”类型的变量“”,但未定义

我正在尝试构建通用函数以在DataRows.

但是我在运行程序时遇到以下错误

这是我的代码。

用于构建表达式的函数。

我在 main 方法中以这种方式调用它。

下面是我的Rule

当我运行此代码时,我收到以下错误。

从范围“”引用的“System.Data.DataRow”类型的变量“”,但未定义

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.InvalidOperationException:从范围“”引用的“System.Data.DataRow”类型的变量“”,但未定义

有人可以帮我吗?