我想知道是否有类似 C 的解释器。也就是说,在 Linux 终端中,我可以输入“python”,然后在该解释器中编码。(我不确定解释正确的词)。这对于测试不同的东西真的很有帮助,我很好奇 C 是否存在类似的东西。尽管我对此表示怀疑。我唯一能想到的就是C shell ...
13 回答
有很多- 如果您缩小问题的范围,我们可能会根据您的需求提出一些具体的建议。
一个著名的解释器是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 -
picoc - 一个非常小的 C 解释器
PicoC 是一个非常小的 C 脚本解释器。它最初是作为无人机机载飞行系统的脚本语言编写的。它也非常适合其他机器人、嵌入式和非嵌入式应用。
ROOT 项目提供了一个非常实用的 C 和 C++ 解释器,称为Cint。我非常喜欢它。不过,这需要一点时间来适应解释。
TCC 也是一个很好的选择,但我无法保证它的 REPL
大概。C++ 有几个。请参阅您是否使用过任何 C++ 解释器(不是编译器)?举些例子。当然cint几乎可以吃掉任何具有良好结果的 c 代码,而且tcc非常快,您可以像使用解释器一样使用它。
Ch 是一个可嵌入的 C/C++ 解释器,用于跨平台脚本、shell 编程、2D/3D 绘图、数值计算和嵌入式脚本。
我知道我们在课堂上使用 CINT。看起来不错,您可能想尝试一下!
查看iGCC
cinterp
是一个开始。
ccons似乎满足您的约束:
ccons 项目的目标是为 C 编程语言创建一个交互式控制台,分别类似于 Python 和 Ruby 的“python”和“irb”。该项目建立在 clang 和 llvm 之上。
您可以使用 CompCert。以下是一些示例:http ://compcert.inria.fr/man/manual004.html
最近有 Cling(基于 LLVM/Clang)
它已经完成,尽管绝大多数 C 工作都已编译。一个例子是CH
CERN 有一个名为 ROOT 的工具包,主要用于科学或数据分析等目的,但它有一个基于 Clang 的 C/C++ 解释器,名为Cling
.
他们在适应之前使用了一个名为CINTCling
的 C 解释器。CINT 是轻量级的,似乎仍然可以下载。
我认为您可以通过仔细搜索维基百科列表文章来获得其他信息。