问题标签 [dynamic-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 投票
0 回答
533 浏览

haskell - 使用 Haskell 动态加载代码

我一直在玩插件包。我希望主机应用程序能够在沙盒环境中动态编译和加载 Haskell 源文件。编译工作得很好。只要插件引用仅在沙箱中可用的模块,加载就会失败。这是我为插件准备的:

从主机应用程序加载插件如下所示:

这是我在沙箱中得到的:

这是我在运行主机应用程序时得到的:

如上所述,当我摆脱import System.Plugins插件中的语句时,代码会加载。我错过了什么?

编辑:

阴谋集团文件:

0 投票
0 回答
231 浏览

scala - Sbt 0.13 ScriptEngine 对于 getEngineByName(“scala”) 为 Null

我在使用 sbt 0.13.8 的 ScriptEngine 时遇到问题

构建.sbt

使用Config.scala

它打印空。

当我在 scala 2.11.6 控制台中运行类似代码时,成功找到了 scala 引擎。

ps 有没有其他方法可以在 sbt 下动态编译 scala 代码?

0 投票
1 回答
55 浏览

java - 可以为可以卸载的动态编译代码获得本机性能吗?

.Net 中,您似乎不能

  1. 动态编译代码
  2. 直接调用已编译的代码(即没有“远程处理”、编组等)
  3. (仅)从内存中删除已编译的代码

您必须在 2.(通过将代码生成到调用 AppDomain 本身)或 3.(通过将代码生成到一次性 AppDomain)之间做出决定,但您不能同时拥有两者。

现在我很好奇这在Java中是否可行。我对 ClassLoaders 知之甚少,但似乎在 Java 中我可以

  1. 将代码动态编译成一次性类加载器
  2. 直接调用已编译的代码(例如,通过对预定义接口的虚拟方法调用),无需任何封送处理
  3. 删除对已编译类和一次性类加载器的所有引用,以便 GC 负责删除

这个假设有效吗?

0 投票
0 回答
408 浏览

asp.net - 如何真正就地编译 ASP.NET?

我有一个问题,在没有预编译的情况下为我的 ASP.NET 站点投入生产导致的不仅仅是初始启动速度慢 - 服务器实际上因内存和 SQL 连接而崩溃。我认为正在发生的事情是,当站点中的页面动态编译时,ASP.NET 达到了一个阈值,它想要重新启动应用程序,因此它在旧实例停止运行时启动一个新实例,我最终得到了多个我的应用程序正在运行。

无论如何,我可以通过在部署后系统地点击我网站上的页面来防止这种情况,但这非常耗时。所以我开始研究用 aspnet_compiler.exe 就地编译整个站点。

但它似乎没有这样做 - 我跟踪 ASP.NET 应用程序/编译总数,并且无论我是否运行 aspnet_compiler.exe,当我点击页面时,我都会看到计数器竞速。我得到了很好的编译器输出——它似乎可以工作——但无论如何我点击它们时页面似乎是动态编译的。

我研究了这两个 SO 讨论:

ASP.NET 就地预编译无法按预期工作

使用 NGEN 有帮助吗?

他们让我很困惑。

那么独家新闻是什么 - 我是否应该能够就地预编译所有内容,以便在我点击页面时编译性能计数器保持为零?

0 投票
2 回答
1158 浏览

.net - 如何在当前程序集中在运行时编译动态代码?

VBCodeProvider用来编译代码,但它会生成一个新的程序集,而且我需要添加对我需要使用的程序集的所有引用。

有没有办法在当前程序集中编译代码?

0 投票
3 回答
212 浏览

testing - 在 Racket 脚本中调用 `racket`

一般问题:

我可以racket从正在运行的 Racket 脚本中调用当前的可执行文件吗?

(system "racket ...")基本上,如果(find-executable-path "racket")不返回我当前正在使用的 Racket 可执行文件的路径,我想替换它。

语境:

我真正想要的是尝试编译一些表达式并断言它们会引发编译错误。这是用于单元测试。

0 投票
1 回答
873 浏览

visual-studio-2015 - 动态编译在 ASP.NET 5 RC1 中仍然不起作用?

来自这里的“动态开发”部分的场景 http://weblogs.asp.net/scottgu/introducing-asp-net-5

在 ASP.NET RC1 中不起作用。我开始一个新的 MVC6 项目,用调试器运行它,更改一些字符串,保存更改,没有任何反应。但是,如果我在没有调试的情况下启动项目,它确实有效。此外,它还可以在控制台应用程序中使用,例如,无论有无调试。

我知道这是以前版本的 ASP.NET 5 中的一个问题。它仍然没有修复还是我做错了什么?

0 投票
0 回答
1176 浏览

go - 动态编译golang的错误

我正在尝试在 linux 主机我的代码中为 windows 动态编译 go 文件:

当我试图编译时:

在windows中也有错误:

任何平台的帮助都可以

0 投票
1 回答
3869 浏览

c# - (C#) 在运行时编译类并从原始代码调用方法


我试图在 C# 中在运行时编译代码,然后从编译的代码中调用一个函数或初始化一个在原始代码中定义的类。
我目前拥有的代码:

现在,运行运行时加载的方法 'Main' 成功,并打印消息“Hello world”。问题从这里开始:在原始代码中,我有一个名为“SayHello”的方法。我想从我的运行时加载的代码中调用这个方法。
如果我取消注释“DoTurn”方法,编译器错误将在运行时显示:



我的问题是 - 这可能吗,如何?

将运行时加载的代码放在同一个命名空间中没有帮助(这是有道理的),那么正确的方法是什么?

谢谢。

0 投票
0 回答
34 浏览

javascript - 清除 DOM 后,Angular Js 动态加载的指令仍然处于活动状态

我有一个动态加载指令的下拉列表。当我选择“选项 a”时,它会加载“指令 a”,当我选择“选项 b”时,它会加载“指令 b”。然而,当第二个指令被加载并且 DOM 被新指令覆盖时,angular 似乎仍然作用于刚刚删除的指令以及新指令。

这是我的代码中的一个片段,因此您可以看到正在发生的事情。

这只是挂钩到更改事件,并运行“构建”。Build 接受给定的参数(这是所选选项的值)并加载具有相同名称的指令"<rep-option-control>"。它将它加载到特定的 DOM 元素中,并编译该元素。

指令 A 具有“文本”类型的输入,指令 B 具有“数字”类型的输入。如果我先加载指令 B,然后加载指令 A 并将内容输入到输入中(type='text'),我会收到此错误:https ://docs.angularjs.org/error/ngModel/numfmt?p0=test这清楚地表明我正在尝试将字符串内容输入到数字输入中。

这意味着即使我运行它control.html(directive)$compile旧指令仍然有效。

有谁知道我如何阻止这一切?