问题标签 [dynamic-code]

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 回答
104 浏览

c# - 使用动态代码处理海量数据

我希望能够动态更改我的游戏代码。例如,假设我的游戏是这样构造的:

我现在希望能够编写这样的代码:

我已经使用了 AppDomains 和 Proxyclass,但是序列化每一帧太慢了。我试图只传递一个指针,但由于 AppDomains 使用他们自己的虚拟地址空间,我无法访问 GameState 对象。我的另一个想法是使用反射通过 GetMethodBody() 从编译方法中获取 IL 并将其传递给 DynamicMethod 但这会限制我编写 RenderAndUpdate 方法的方式,因为我不能在 IGameCode 实现中使用子方法或变量.

那么我怎样才能实现我想做的事情呢?

0 投票
0 回答
179 浏览

c# - badimageformatexception 动态代码生成

我正在尝试使用 CSharpCodeProvider 动态生成可执行文件,其唯一目的是从特定的 dll 调用一个方法。当我执行生成的文件时,我得到一个 BadImageFormatException。

我已经将平台设置为 x86。当我手动编写调用该方法的代码并在 Visual Studio 中对其进行调试时,它工作得非常好。

这是可执行文件的代码:

在动态编译代码之前,我通过添加程序集

我将可执行文件写入与 dll 相同的目录。

编辑

这是我用来调用编译器的代码:

0 投票
1 回答
232 浏览

python - 使用任意变量作为 `exec` 的命名空间

使用此测试代码exec(使用 Python 3.4):

输出是:

你好来自乐趣

但我没想到这会起作用,因为我假设它funmainwhere 被解释为单独的代码片段,没有公共命名空间来解析mainfun.

那么如何执行main解决对 的引用fun


基于加法的理解问题。使用for和print,很明显这两个函数看到相同的全局变量:idvalsglobals

这使:

编号(vals):32271016

主ID(全局()):32271016

有趣的 id(globals()): 32271016

你好来自乐趣

因此vals用作 中代码的全局变量exec,从而提供连接,如@Dunes 和其他评论所述。谢谢。

0 投票
2 回答
462 浏览

roslyn - 使用 ASP.Net 5 在运行时执行代码

我正在使用 Asp.Net 5 CTP6。我需要在运行时执行一些 c# 代码。我知道有一些解决方案,我使用了其中的一些,但我想知道 Roslyn 由于平台独立性而如何做到这一点?通过我发现的旧解决方案可能存在一些关于多平台独立性的问题。事实上,我想在 Windows 和 Ubuntu 上运行网络应用程序。谢谢

0 投票
1 回答
31 浏览

java - 动态编译和执行代码的直接标准输出

背景资料:

  • 我使用 javax.tools.JavaCompiler 将代码动态编译到内存中。
  • 我使用自定义类加载器来加载和执行动态编译的代码。

我的问题

假设有人提供以下代码:

当我通过反射执行 main() 时,它工作正常。但我想从执行中获取标准输出和标准错误结果并将它们保存在一个变量中,以便我可以将它们作为结果返回。

我不确定如何执行此操作,因为我认为,一旦加载了类,它与我的应用程序的其余部分共享相同的标准输出和标准错误。也许有一些标准的方法来处理这个问题?我不想将整个应用程序的输出流引开,但我不确定如何专门针对新类。

0 投票
1 回答
126 浏览

jquery - jQuery将锚文本插入div后修改锚文本

我有以下问题。

在 div 中动态添加后,我需要修改锚文本。

在我的代码中:

“加载文件”按钮在 div class="div" 中添加文件加载链接(这是一个模拟)。无法修改加载文件的程序。

该程序返回带有路径和文件名的锚文本,但我只想保留名称。

问题是我没有找到在哪个事件中放置我的代码来修改锚文本。我做了一个测试,它适用于 mousemove 事件,但只是一个测试。

如何触发修改锚文本的代码?

下面的代码不起作用,但您可以尝试启用 mousemove 事件以查看所需的结果。

提前致谢!您的帮助...

0 投票
1 回答
129 浏览

c# - 需要通过 C# 中的动态运行时代码处理数据集

我一直在为运行时进程使用 C# 动态代码。我的问题是我似乎无法将数据集对象传递给动态代码而没有得到:

“无法加载文件或程序集 'file:///C:\Users\mgallanx\AppData\Local\Temp\npbylo5z.dll' 或其依赖项之一。系统找不到指定的文件。”

这是我正在使用的最简单的数据集处理字符串:

调用方法设置参数以添加System.dllSystem.Data.dll,创建一个Object[] mp到一个元素sIn

然后调用是:

它断线GetMethod。我可以得到类似的代码传递整数来播放,但是改变返回并传递给DataSet爆炸。任何帮助表示赞赏。

0 投票
0 回答
380 浏览

c# - 通过 CodeDom 处理 PDB 文件的问题

我一直在创建一个插件模型,其中将在服务器上编写代码,并创建一个 dll 输出并将其下载到客户端。

这很好用,但由于我们还希望对在服务器中生成的代码有调试支持,我尝试在客户端下载以下代码。

dll正确生成,我将pdb和源文件重命名为dll名称,并下载到客户端文件夹。

现在,当在插入 dll 的应用程序中调用方法时,Visual Studio 无法附加调试器。它说“在此文件夹中找不到匹配的符号文件”。

谁能帮我解决这个问题。

0 投票
1 回答
961 浏览

json - 使用 Groovy 动态解析 JSON

我从支持系统 API 中提取了一个 JSON 文档。使用我的代码,我想动态提取预先配置的字段,假设当我的程序调用 API 时 JSON 可能具有更多或更少的所需字段。

我有一些有效的代码,尽管它看起来非常复杂且效率低下。

这是我感兴趣的 JSON 片段的片段:

我有一个名为 WantFields 的 ArrayList,我从配置中构建它来定义我想从 JSON 中提取哪些信息:

复杂性在于数据在 API 中被复制,我只想提取一次数据,并在适用的情况下优先选择“行”中的数据。我这样做的方法如下。感觉就像我在重复代码,但我真的看不出如何更有效地完成这项工作。JSON 保存为“viewAsJson”。

我知道应该有一些验证是否仍然填充了wantedFields ArrayList。我已经对这段代码进行了很多次迭代,这次我忘了重新添加它。

0 投票
4 回答
1415 浏览

javascript - 从 ES6 javascript(非浏览器)中的字符串动态创建方法

在 javascript 代码中,我有一个字符串,它定义了对象内的属性路径。例如

如何从此字符串中获取以下函数?

这样我就可以通过以下方式使用它:

路径字符串在编译时是未知的。它也可以由用户提供。

该解决方案也应该在非浏览器环境中工作(没有window对象),例如在 NodeJS 服务器端 javascript 中。

我知道一种解决方案是创建一个通用方法,它将一个对象和一个字符串作为参数(valueGetter(person, "contact.email")例如),其中字符串定义对象内的路径,然后在每个点上拆分字符串'。并按照对象上的路径。但我不希望这个算法在每次调用getter函数时都执行。我需要一个动态编译的方法,它会给我一个最终的 getter,它可以立即访问所需的(子)属性。