|
Cling 旨在提供一款高性能的 C++ REPL
Cling 是一款交互式 C++ 解释器,以 LLVM 和 Clang 为基础构建,其目标是通过超越编码-编译-运行-调试这个惯常的 C++ 工作流程提供生产力的飞跃。
Cling 提供了一个读取-求值-输出循环(REPL),类似常见的 Unix shell,并支持 Emacs 绑定。使用 Cling 可以测试 C++ 代码片段,而不需要创建文件、包含头文件等等。使用 REPL 的主要好处是可以在极短的时间内测试一个想法,而不需要等待构建系统编译代码。REPL 在学习一门语言时也非常有用,因为它让试用语言特性变得更简单。
ROOT 是 Cern 的数据分析框架,Cling 即是由该框架背后的团队开发完成,作为现有的命令行 C/C++ 解释器 CINT 的一个替代方案。目前,在粒子物理学领域中,许多 实验 中都用到了 ROOT,包括大型“强子对撞器(Large Hadron Collider)”。
Cling 可以解析 Clang 所能解析的一切内容,并且还支持一些 CINT 特有的 C++ 扩展。ROOT 开发团队 列举 了 Cling 提供的主要好处,其中包括使用生产级解析器、JIT 允许不使用封装器直接进行库调用、使用独立的解析器和执行引擎。
Cling 在 GitHub 上开源。用户既可以使用 每日构建的二进制包 进行安装,也可以 从源代码构建。官方的 一体化构建脚本 支持基于 Unix 的系统,而 Windows 上的手动构建过程可以借助 CMake 实现。此外,Gallagher Pryor 介绍 了针对 ARM 平台构建 Cling 的步骤,这比针对 x86 平台进行构建要复杂得多,因为开发团队没有在他们的构建脚本中直接提供这种支持选项。
查看英文原文:Cling Aims to Provide a High-performance C++ REPL
正如前面帖子所说,现在在 ARM 平台编译 Cling 已经很简单了,全自动完成,不需要人工介入(cpu 发热导致 gcc 被 kill 掉,这不是 Cling 的错)。
|