111

我想知道是否有类似 C 的解释器。也就是说,在 Linux 终端中,我可以输入“python”,然后在该解释器中编码。(我不确定解释正确的词)。这对于测试不同的东西真的很有帮助,我很好奇 C 是否存在类似的东西。尽管我对此表示怀疑。我唯一能想到的就是C shell ...

4

13 回答 13

71

有很多- 如果您缩小问题的范围,我们可能会根据您的需求提出一些具体的建议。

一个著名的解释器是Dobbs 博士详细介绍的“ Ch: AC/C++ Interpreter for Script Computing ”:

Ch 是一个完整的 C 解释器,它支持 ISO C90 标准的所有语言特性和标准库,但在 C 中扩展了许多高级特性,例如字符串类型和计算数组作为一流的对象。

Ch 标准是免费软件,但不是开源的。只有 Ch 专业版具有绘图功能和其他人可能想要的功能。

我以前从未看过这个,但是手头有 ac 解释器听起来非常有用,而且我可能会添加到我的工具集中。感谢您的提问!


编辑:

刚刚发现我最喜欢的编译器之一TCC将执行 C 脚本:

它还处理 C 脚本文件(只需将 shebang 行“#!/usr/local/bin/tcc -run”添加到 Linux 上 C 源代码文件的第一行即可直接执行。

当使用“-”代替“infile”时,TCC 可以从标准输入读取 C 源代码。例子:

echo 'main(){puts("hello");}' | tcc -run -
于 2009-02-25T04:31:05.590 回答
18

picoc - 一个非常小的 C 解释器

PicoC 是一个非常小的 C 脚本解释器。它最初是作为无人机机载飞行系统的脚本语言编写的。它也非常适合其他机器人、嵌入式和非嵌入式应用。

于 2012-04-06T14:53:40.870 回答
9

ROOT 项目提供了一个非常实用的 C 和 C++ 解释器,称为Cint。我非常喜欢它。不过,这需要一点时间来适应解释。

TCC 也是一个很好的选择,但我无法保证它的 REPL

于 2009-02-25T05:31:13.557 回答
8

大概。C++ 有几个。请参阅您是否使用过任何 C++ 解释器(不是编译器)?举些例子。当然cint几乎可以吃掉任何具有良好结果的 c 代码,而且tcc非常快,您可以像使用解释器一样使用它。

于 2009-02-25T04:29:57.730 回答
7

看看Ch Interpreter

Ch 是一个可嵌入的 C/C++ 解释器,用于跨平台脚本、shell 编程、2D/3D 绘图、数值计算和嵌入式脚本。

于 2009-02-25T04:32:14.603 回答
6

我知道我们在课堂上使用 CINT。看起来不错,您可能想尝试一下!

于 2009-03-14T18:06:52.380 回答
5

查看iGCC

于 2011-10-12T12:09:59.813 回答
4

cinterp是一个开始。

于 2009-02-25T04:29:35.703 回答
2

ccons似乎满足您的约束:

ccons 项目的目标是为 C 编程语言创建一个交互式控制台,分别类似于 Python 和 Ruby 的“python”和“irb”。该项目建立在 clang 和 llvm 之上。

于 2013-09-07T06:48:13.317 回答
2

您可以使用 CompCert。以下是一些示例:http ://compcert.inria.fr/man/manual004.html

于 2014-01-31T14:22:55.880 回答
2

最近有 Cling(基于 LLVM/Clang)

http://root.cern.ch/drupal/content/cling

于 2014-07-27T06:56:01.253 回答
1

它已经完成,尽管绝大多数 C 工作都已编译。一个例子是CH

于 2009-02-25T04:32:00.627 回答
0

CERN 有一个名为 ROOT 的工具包,主要用于科学或数据分析等目的,但它有一个基于 Clang 的 C/C++ 解释器,名为Cling.

他们在适应之前使用了一个名为CINTCling的 C 解释器。CINT 是轻量级的,似乎仍然可以下载。

我认为您可以通过仔细搜索维基百科列表文章来获得其他信息。

于 2018-05-02T13:51:20.880 回答