写点什么

Cling 旨在提供一款高性能的 C++ REPL

  • 2015-05-25
  • 本文字数:631 字

    阅读完需:约 2 分钟

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

2015-05-25 10:304066
用户头像

发布了 1008 篇内容, 共 393.1 次阅读, 收获喜欢 345 次。

关注

评论

发布
暂无评论
发现更多内容

新品速递|海泰边缘安全网关护航工控数据采集

电子信息发烧客

Python之鸡兔同笼

芯动大师

9月月更 Python语法 鸡兔同笼

打破线上社交“不可能三角”,语音社交可以做到既要、又要、还要

擎声科技

音视频 sdk 语音社交 实时互动 擎声Qtt

第56届世乒赛团体赛开幕!三思近900㎡ LED显示点燃赛事激情

电子信息发烧客

部署华为云DWS过程

乌龟哥哥

9月月更

极速体验SpringCloud Gateway

程序员欣宸

Java SpringCloud SpringCloud Gateway 9月月更

《MySQL入门很轻松》第5章:数据完整性及其分类

乌龟哥哥

9月月更

面试官问我 JS 中 foreach 能不能跳出循环

茶无味的一天

JavaScript js foreach for

给你一本武林秘籍,和KeeWiDB一起登顶高性能

腾讯云数据库

redis 腾讯云 NoSQL 数据库 腾讯云数据库 KeeWiDB

大数据开发应用场景解读

Jackchang234987

大数据 数据开发

微信架构图

Johnny

#架构实战营

(WebFlux)004、WebFilter踩坑记录

编号94530

Spring Boot WebFlux Reactor3 WebFilter

数据价值平台化输出:数据服务平台

Taylor

数据中台 接口管理 API接口管理 数据服务 数据服务平台

14个你必须要知道的ubuntu快捷键

乌龟哥哥

9月月更

《MySQL入门很轻松》第2章:MySQL管理工具介绍

乌龟哥哥

9月月更

Databricks Data Science&Engineering模块介绍

Jackchang234987

大数据 数据产品经理 数据产品 大数据开发 Databricks

工业4.0时代IIoT存储面临哪些挑战

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

2022-09-30:以下go语言代码输出什么?A: true true false true false; B: true false false true false; C: true true

福大大架构师每日一题

Python之斐波那契数列的实现

芯动大师

Python 9月月更 斐波那契数列

第1章:初识数据库与MySQL----数据库基本概念

乌龟哥哥

9月月更

Spring Security 在 Servlet 的作用区域

HoneyMoose

「产品运营」研发效能之DevOps平台如何运营?

laofo

DevOps cicd 研发效能 持续交付 工程效率

《MySQL入门很轻松》第4章:数据表中存放的数据类型

乌龟哥哥

9月月更

从单机百万tpmc到分布式千万tpmc,GaussDB性能提升的3个关键技术剖析

乌龟哥哥

9月月更

字符串哈希

留白的艺术

开发者有话说|我想给你讲一个故事

石云升

个人成长 9月月更

无线网络安全技术中的王牌标准:WPA到底是个什么东东?解决了什么问题?

wljslmz

网络安全 无线技术 9月月更 WAP

leetcode 513. Find Bottom Left Tree Value 找树左下角的值 (简单)

okokabcd

LeetCode 数据结构与算法

OptaPlanner场景和示例

积木思维

Java中的悲观锁和乐观锁是什么意思?其分类依据是啥?

wljslmz

Java 乐观锁 悲观锁 9月月更

Python之简易计算器的制作

芯动大师

Python 9月月更 简易计算器

Cling旨在提供一款高性能的C++ REPL_C++_Sergio De Simone_InfoQ精选文章