2011-01-09 172 views
1

可能重复:
Have you used any of the C++ interpreters (not compilers)?有没有C++解释器这样的东西?

嗨,

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

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

+3

只要使用调试器,设置断点,检查变量等就够了吗? – 2011-01-09 21:00:05

+0

我建议花一些时间学习像Emacs这样的IDE来自动构建/调试/运行周期 – Anycorn 2011-01-09 21:02:04

+0

虽然我使用并喜欢cint,但我会建议Uwe和aaa的方法来改善您的开发周期,而不是试图强制C++进入RAD模式。 – dmckee 2011-01-09 21:04:47

回答

2

CINT是一个C++接口,它接受几乎所有有效的C++。不幸的是,许多Linux发行版都不提供它,你可能需要从源代码构建它......这是一个不平凡的任务。

1

有一些解决方案试图做到这一点 - 我知道的是ChTextTransformer

但是,我怀疑这工作得很好。 C++根本不是作为解释型语言运行的。

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

1

典型情况下,调试器用于逐行扫描代码,从选定的断点开始,并保持所有变量/值的监视。

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

1

在大多数IDE中找到的步进调试器将帮助您解决这个问题。

Here(例如)是如何在Visual Studio中设置执行点的说明,这听起来像是您想要执行的操作。

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

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

0

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

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

1

C++是一种不像Python的编译语言。但是那里没有几个c/C++解释器,但是不确定它们的特性。看看这些:Ch interpreterCINT

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

相关问题