什么是 nqp、nqp-m、rakudo-debug、rakudo-debug-m、rakudo-gdb-m、rakudo-m、rakudo-valgrind-m?
What are nqp, nqp-m, rakudo-debug, rakudo-debug-m, rakudo-gdb-m, rakudo-m, rakudo-valgrind-m?
当我从源安装 rakudo 时:
$ git clone git@github.com:rakudo/rakudo.git
$ cd rakudo
$ perl Configure.pl --gen-moar --gen-nqp --backends=moar
$ make
$ make install
它在./install/bin
中生成以下文件:
$ ls -1 install/bin
moar
nqp
nqp-m
perl6
perl6-debug
perl6-debug-m
perl6-gdb-m
perl6-lldb-m
perl6-m
perl6-valgrind-m
raku
raku-debug
rakudo
rakudo-debug
rakudo-debug-m
rakudo-gdb-m
rakudo-lldb-m
rakudo-m
rakudo-valgrind-m
我知道 raku
、rakudo
和 perl6
是用于 运行 一个 .raku
脚本的命令,但其他命令是什么命令以及如何使用它们?
moar
是虚拟机(没有字节码文件不是很有用)
nqp
用于 NQP(不完全是 Perl6)。这是 Raku 的一小部分,可以更快/更容易优化。 (例如没有 =
操作)
它是 Rakudo 的 bootstrap 编译器。
其他人如rakudo-m
*-m
表示 MoarVM
*-j
表示在 JVM 上(此处未安装)
*-js
表示 JavaScript(此处未安装)
*-debug
表示,使用带有调试信息的版本
*-gdb
表示使用带有GNU Debugger信息的版本
*-lldb
表示使用带LLDB调试信息的版本
*-valgrind
表示使用Valgrind检测框架(查找内存泄漏)
那么 rakudo-valgrind-m
意味着在 MoarVM[=62= 上使用 Rakudo 编译器和 Valgrind 工具].
我唯一会使用的是 rakudo-m
和 rakudo-j
或 rakudo-js
,而且只有当我安装的不仅仅是 MoarVM 版本时才会这样。
其余的主要是给那些自己从事 Rakudo/NQP/MoarVM 项目的人。
当我从源安装 rakudo 时:
$ git clone git@github.com:rakudo/rakudo.git
$ cd rakudo
$ perl Configure.pl --gen-moar --gen-nqp --backends=moar
$ make
$ make install
它在./install/bin
中生成以下文件:
$ ls -1 install/bin
moar
nqp
nqp-m
perl6
perl6-debug
perl6-debug-m
perl6-gdb-m
perl6-lldb-m
perl6-m
perl6-valgrind-m
raku
raku-debug
rakudo
rakudo-debug
rakudo-debug-m
rakudo-gdb-m
rakudo-lldb-m
rakudo-m
rakudo-valgrind-m
我知道 raku
、rakudo
和 perl6
是用于 运行 一个 .raku
脚本的命令,但其他命令是什么命令以及如何使用它们?
moar
是虚拟机(没有字节码文件不是很有用)nqp
用于 NQP(不完全是 Perl6)。这是 Raku 的一小部分,可以更快/更容易优化。 (例如没有=
操作)
它是 Rakudo 的 bootstrap 编译器。
其他人如rakudo-m
*-m
表示 MoarVM*-j
表示在 JVM 上(此处未安装)*-js
表示 JavaScript(此处未安装)
*-debug
表示,使用带有调试信息的版本*-gdb
表示使用带有GNU Debugger信息的版本*-lldb
表示使用带LLDB调试信息的版本*-valgrind
表示使用Valgrind检测框架(查找内存泄漏)
那么 rakudo-valgrind-m
意味着在 MoarVM[=62= 上使用 Rakudo 编译器和 Valgrind 工具].
我唯一会使用的是 rakudo-m
和 rakudo-j
或 rakudo-js
,而且只有当我安装的不仅仅是 MoarVM 版本时才会这样。
其余的主要是给那些自己从事 Rakudo/NQP/MoarVM 项目的人。