问题标签 [static-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 投票
2 回答
170 浏览

java - 圣杯。使用@GrailsCompileStatic 时如何处理“混合”方法和变量

我渴望@GrailsCompileStatic在我的 grails 3.1.7 应用程序的许多地方使用注释。但主要问题是它没有考虑到域、命令和控制器与其他方法(如save()or validate())或变量(如g)“混合”。

我找到了上述方法的解决方法:我从具有空save()方法的抽象类继承域和命令(它的实现随后被 grails 覆盖,但静态编译不会失败)。这个抽象类也通过方法实现来实现grails.validation.Validateable特征。validate()

但是有没有更好的方法来启用静态编译而没有这些肮脏的技巧?

在许多控制器中,我使用该g.createLink()方法。在静态编译期间,我应该如何g在内部传递变量以避免这种情况?

错误:(37, 39) Groovyc: [静态类型检查] - 变量 [g] 未声明。

0 投票
1 回答
87 浏览

grails - 强制 @GrailsCompileStatic 检查请求为 AbstractMultipartHttpServletRequest

我正在尝试应用于@GrailsCompileStatic具有从请求中检索 MultipartFiles 的操作的控制器:

但是得到以下信息:

[静态类型检查] - 找不到匹配方法 javax.servlet.http.HttpServletRequest#getFile(java.lang.String)

是否有机会强制编译器验证请求AbstractMultipartHttpServletRequest(具有 getFile(java.lang.String) 方法)而不是HttpServletRequest

UPD 此解决方案有效:

但是在尝试测试它时有一些奇怪的行为:

org.codehaus.groovy.runtime.typehandling.GroovyCastException:无法将具有类“org.grails.plugins.testing.GrailsMockHttpServletRequest”的对象“org.grails.plugins.testing.GrailsMockHttpServletRequest@2bcf856f”转换为类“org.springframework.web”。 multipart.support.StandardMultipartHttpServletRequest'

0 投票
1 回答
66 浏览

groovy - Groovy 静态编译 (@CompileStatic) 将类字段的类型转换为 `Object`

编译以下 Groovy 类

.class反编译文件时会生成此类:

将字段更改为final不会改变情况。

为什么在这种情况下 Groovy 编译器无法派生类型?

0 投票
2 回答
269 浏览

java - Grails 3 taglib 的静态编译

我正在尝试将 @GrailsCompileStatic 应用于 taglib 并收到以下错误:

错误:(19, 16) Groovyc: [静态类型检查] - 找不到匹配的方法 com.tempvs.image.MyTagLib#render(java.util.LinkedHashMap)。请检查声明的类型是否正确以及方法是否存在。

代码示例:

我做错了什么,我该如何解决这个问题?

0 投票
0 回答
66 浏览

c - 如何查看我的代码被操作系统映射到的物理地址

当执行一个简单的 C 程序时,是否有可能知道我的 C 程序的不同部分(例如数据、文本、堆栈、堆等)被操作系统(例如 Linux)映射到哪个物理地址(或地址范围)。是否可以使用一些带有 gcc 等的编译器标志来实现这一点?

也可以为我的程序(在用户或内核空间)定义一个静态映射,这样每次我执行程序时分配给程序的物理地址都不会改变。

任何帮助都是非常受欢迎的。

谢谢你

0 投票
0 回答
35 浏览

android - Python3.6 中的函数“get_locale_info”出错

我正在尝试使用Python3.6.2进行静态编译并为 android 进行交叉编译。并nmake在运行时抛出以下异常:

我用谷歌搜索了很多,但到目前为止几乎没有发现任何实用的东西。尽管我看到了源代码,但我根本不明白发生了什么(我只是对 C/C++ 有所了解)。

谁能给我一些建议?

先感谢您。

0 投票
1 回答
193 浏览

c++ - Paho CPP - 编译为静态可执行文件

是否可以将 Paho CPP 编译为静态可执行文件?如果是这样 - 如何?

以下是其中一个示例的编译语句示例:

如何将其编译为静态可执行文件?

0 投票
2 回答
267 浏览

java - Groovy:如何从 AST 获取静态推断的返回类型

我正在使用 Groovy 允许用户编写脚本并自定义我的 Java 应用程序的某些部分。我正在使用所有用户提供的脚本的静态编译。

我的问题是:如果我的代码期望收到例如 boolean 类型的值作为用户脚本的结果,有没有办法让我检查提供的用户脚本是否总是返回布尔值而不实际执行脚本?换句话说,我如何访问静态 groovy 编译器执行的类型推断的结果?我希望能够在用户编辑脚本内容时告诉用户“嘿,您的脚本并不总是返回布尔值”。

0 投票
0 回答
261 浏览

compilation - 如何用多个模块编译 julia?

我正在尝试编译并获取 julia 模块的可执行文件。该模块在file.jl其中,它在 2 个不同的文件中使用了另外 2 个模块。我尝试使用juliac.jl但没有用。

我在 julia 的这个脚本上尝试了包编译器:

0 投票
0 回答
323 浏览

compilation - 如何编译静态球拍二进制文件

raco exe生成动态可执行文件,并且raco distribute不会改变:

在 Windows 上,它看起来像 one can --embed-dlls,这是我想要的,但适用于所有平台。

我想静态编译以便于分发和部署。这可能吗?