我刚开始学习Rust,我想知道: Rust是解释器吗?使用解释器,Rust编译器不需要在每次调用时编译所有的源文件,只会在代码更改时解释代码。这就是为什么JavaScript和Python没有真正的编译时间。
Rust提供了增量编译,但在大型项目中仍然非常慢。这将是使用rust for the web IMO的GUI开发的福音。
发布于 2019-05-17 07:25:11
我认为最接近你想要看到的是Rust Language Server。具体地说,IDE使用它只提供更改,以便更快地编译代码。
还有一个你可能有兴趣观看/贡献的work on RLS 2.0。
至于UI / Web,这是一个不同的蜡球,我还没有太多的运气。
发布于 2019-05-17 16:11:52
no ,目前还没有可以简单地用来替代rustc编译的Rust解释器。
有一个,它是MIR的解释器,Rust的“中间层中间表示”(基本上定义了一个控制流图)。Rust编译器生成MIR代码作为其常规流水线的一部分。此MIR代码通常接下来被转换为LLVM-IR,然后由LLVM转换为机器码。Miri允许直接解释MIR代码。
然而,Miri并不是真正为程序员解释他们的项目而不是编译它而构建的。至少现在还不是。相反,它主要是为了检查不安全的代码中未定义的行为:一个动态代码分析工具/杀菌器。此外,Miri仍然非常有限。特别是,我最后一次检查时,不支持extern "C"调用。
我还想说,Rust并不像其他语言那样适合完全解释。Rust编译器在源代码上执行大量繁重的分析,这在某种程度上必须以某种方式完成。
https://stackoverflow.com/questions/56177318
复制相似问题