问题标签 [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.
c# - 在运行时编译 C# 代码而不创建类
是否可以将字符串编译为代码而无需编译整个新类?
我看过很多教程,也看过CodeDom
框架的文档,但在所有这些中,它创建了一个新类和所有内容,我想要的只是编译 1 行并将其添加到原始代码中
我如何编译它并在运行时像这样使用它:
CompileAndCall()
应该以某种方式将代码转换为:
这应该(double)6
从方法返回结果 () 并将其存储在number
变量中。
asp.net - 与 asp.net 代码隐藏和运行时编译问题的 Ajax 连接
我无法让 AJAX 调用正常工作,失败错误是常见的 404,这意味着调用无法找到我希望调用的文件/函数。问题是即使我在调用中使用绝对路径,它仍然是 404。我可以物理检查服务器上的文件,甚至可以使用相同的路径通过网络访问同一目录中的图像或 .txt 文件。
因为我被迫从 Dreamweaver 将其编码为运行时编译的代码隐藏。(不要问......)我是否缺少一些简单的东西,我应该检查一下,无论是在服务器上的 asp 还是 iis 配置中或 web.config。
default.aspx 头文件
核心.aspx.vb
关于我需要实现的背景信息:用户单击一个项目,它执行多个 javascript 操作,然后不刷新,页面从服务器检索数据并执行多个 javascript 操作,然后对用户请求做出反应。
algorithm - 时间复杂度是多少?
以下函数的时间复杂度是多少?
我认为它小于大 O n^2 因为我们没有迭代第二个 for 循环中的所有元素。我相信时间复杂度是这样的:
但是当我解决这个公式时,结果是
这似乎根本不正确。有人可以确切地告诉我如何解决这个问题,以及我错在哪里。
java - 需要在运行时用动态生成和编译的 java .classfile 替换运行时的现有类
我的目的是在运行时将新属性 + getter setter 方法动态注入到类定义中。目前我有一种方法可以使用新添加的属性重新生成代码,然后编译生成的代码。
最初,我将在编译时为每个类创建一个模板。在运行项目时,模板类被加载到运行时。我写了一些代码来动态生成java代码并编译它。当我使用下面的代码加载新创建的类时,我无法访问注入的方法。我认为我无法覆盖现有的运行时定义。我浏览了很多博客,但仍然不明白为什么。请帮忙。
我正在访问 DROOLS 中新添加的方法,并且它没有在任何其他类中引用,这可能会在编译期间引发问题。具有新属性的规则引擎的规则在运行时更新,因此我需要相应地调整我的代码。下面是类加载器代码。此代码不会引发任何异常,但无法解决我的目的。不确定编码是否正确。
c# - 从包含源代码的字符串创建类对象
我正在创建一个 C# 应用程序,其中代码在运行时编译,代码包含在一个字符串中(字符串从 ScintillaNET 控件获取其值,它只返回文本,带有代码的字符串按预期工作)。
我的问题是:有没有办法在运行时从这个源代码制作某种类对象?例如,字符串包含以下值:
此代码由我的 CSharpCodeProvider 编译器在运行时编译(使用 CompileAssemblyFromSourceBatch - 因为我正在传递要编译的类数组)。但是,我希望能够在运行时设置编译器的 MainClass 属性,这需要从类中获取命名空间。
所以我正在考虑为每个类源代码字符串创建某种对象,这将使我能够实现我的目标。当然也欢迎任何其他想法。
java - ToolProvider.getSystemJavaCompiler() 返回 null
我目前正在尝试在运行时编译和执行代码。在我的 IDE (Netbeans) 中一切正常,但是一旦我将代码导出为 .jar 文件,ToolProvider.getSystemJavaCompiler() 就会返回 null。这有什么原因可以在 Netbeans 中工作但在 .jar 文件中不起作用?
java - 在运行时使用类路径编译类
我目前正在尝试在运行时编译一个类,但由于某种原因它只能在一个系统上运行。两个系统都使用完全相同的代码并安装了相同的 java 版本,但是在一个系统上,我的 .java 文件编译为 .class,而在另一个系统上,我遇到了异常,因为某些类在或应该在找不到类路径。
我用来编译它的代码是这样的:
包含必要文件的 Core-1.0-SNAPSHOT.jar 的类路径 (optionList.toString())。
堆栈跟踪
编辑:我还在不同的目录中对其进行了测试,但没有奏效。当我在本地 Windows 笔记本电脑上使用代码时,它确实可以工作。
编辑 2:这似乎是 CentOS 的一个问题,因为它也不能在第二个 CentOS 系统上运行。
java - Compiling JUnit tests at runtime: "No runnable methods"
I want to compile and run JUnit (4.12) tests at runtime within a grails (2.4.4) project.
The following string is an example for such a test (classname: "DasS").
The purpose of the following method is to load in the classes and run the compiled tests.
There are no errors during the compilation nor during the loading of the classes, but every time I run this code I get "No runnable methods" as a failure message, although there are obviously some test-methods.
Stacktrace via f.getTrace():
c# - C# 运行时编译 - 将新接口添加到命名空间
我目前很困惑,是否可以在运行时编译接口并将其添加到“硬编码”命名空间。
一些代码来解释:
这是运行时编译的接口,我想在运行时添加到EngineCore命名空间。
编译似乎按预期工作,如您所见,我使用 EngineCore 命名空间编译它。
这是第二个运行时编译的代码。如您所见,我正在尝试使用我之前编译的 iMobilePhones 界面。
但是编译失败是因为 iMobilePhones 不是 EngineCore 的接口
实际问题:
所以我想知道是否有办法将之前编译的接口 iMobilePhones “注册”到 EngineCore 命名空间?
非常感谢您的阅读。欢迎任何建议。
c# - CodeDom 编译器:默认引用哪些程序集?
简短:哪些程序集(框架 DLL)默认包含在 .NET CodeDom 编译器(CSharpCodeProvider
或VBCodeProvider
)中,而没有明确添加对 CompilerParameters 的引用?
我正在使用CodeDom
工具,即CSharpCodeProvider
和VBCodeProvider
,在运行时编译程序集。我注意到,默认情况下包含一些但不是所有的 .NET 引用程序集。
例如,我可以在System.dll
不添加引用的情况下使用其中的所有内容,但没有添加CompilerParameters
任何内容System.Numerics.dll
。对于后者,我需要添加params.ReferencedAssemblies.Add("System.Numerics.dll")
到我的代码中。
因此我的问题是:我怎么知道默认引用了哪些程序集,哪些没有?
相关代码:
无需添加引用即可编译此代码:
此代码不能:
我用来编译的代码(缩写):