有没有C ++解释器这样的东西?

时间:2011-01-09 20:57:20

标签: c++ interpreter

  

可能重复:
  Have you used any of the C++ interpreters (not compilers)?

您好,

我目前正在学习C ++和一般的编程初学者。我一直在尝试从我正在使用的书中编写一些代码来解决一些编程问题。我发现通常我会在编写的内容中出错,并且在程序运行时会出现错误。它通常非常明显,在程序中,当有常规输出时我出错了。但是在长时间的计算中,我常常不确定特定代码为什么会采取某种方式。我最近也看过Python。 Python与解释器一起工作,解释器可以接受任何Python代码并计算其输出。

我想知道C ++是否有类似的东西。现在,当我想检查一行或一段代码时,我必须注释掉很多,保存,编译,然后从命令行运行它。在我解决之前,我必须多次做一次错误。有没有办法在活动终端中输入代码来运行代码并显示输出?更好的方法是在IDE中选择一个代码块(如选择文本)或多个块(以查看函数的处理方式),然后单击运行以运行该代码块并查看其代码输出没有注释掉不相关的行或保存文件。编译后的代码可以驻留在内存中。

6 个答案:

答案 0 :(得分:2)

CINT是一个c& C ++解释器几乎接受所有有效的C ++。不幸的是,许多Linux发行版都没有提供它,你可能不得不从源代码构建它......这是一项非常重要的任务。

答案 1 :(得分:1)

有一些解决方案尝试这样做 - 我知道的是ChTextTransformer

然而,我怀疑这种方法效果很好。 C ++根本不是作为解释语言运行的。

其中一个问题是C ++是very, very hard to parse。这使得很难提供其他语言常用的某些类型的工具。例如,我认为没有任何C ++重构工具能够很好地运行。

答案 2 :(得分:1)

通常,调试器用于逐行遍历代码,从选定的断点开始,并监视所有变量/值。

单元测试是一种测试较小代码的技术。

答案 3 :(得分:1)

大多数IDE中的步进调试器都可以帮助您解决此问题。

Here(例如)是如何在Visual Studio中设置执行点的说明,听起来就像你想要做的那样。

对于某些情况,"Immediate Window"可能对您有用。它允许您输入表达式以立即进行评估。

您可以使用调试器运行到感兴趣的点(您将设置断点),而不是单独运行单独的行,或依赖于打印语句来告诉您决定打印的任何变量的状态。 ),然后你可以检查任何范围内变量的状态,甚至改变程序的正常流程。

答案 4 :(得分:1)

C ++是一种不像python的编译语言。但是那里有很少的c / c ++解释器,但不确定它们的功能。请查看以下内容:Ch interpreterCINT

如果你真的想学习c ++,请不要使用c / c ++解释器。

答案 5 :(得分:0)

如果您坚持使用交互式解释器,那么很长一段时间CINTROOT project中使用的默认解释器。多年来它变得更好,但在处理模板时仍然只有有限的功能。此外,还有一项措施是将其替换为ROOT项目中的JIT compiling interpreter based on clang

如果我是你,我会学习如何运行编译器和一些交互式调试器,如某些评论中所建议的那样。