我想知道是否有类似C语言的解释器.也就是说,在Linux终端中我可以输入"python"然后在该解释器中编码.(我不确定翻译正确的词).这对于测试不同的东西真的很有帮助,我很好奇C是否存在类似的东西.虽然我对此表示怀疑.我能想到的唯一能做的就是C shell ......
对不起,如果问题措辞错误 - 我不知道我要求的正确的词!:)
说,你有一些简单的C程序,如:
#include <stdio.h>
int main()
{
int a=2;
printf("Hello World %d\n", a);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
通常,这必须保存在文件中(例如hello.c
); 然后我们运行gcc
源文件并获取可执行文件 - 如果我们编译了调试信息,那么我们可以使用gdb
可执行文件,逐步执行代码行,并检查变量.
我想拥有的,基本上是某种"C"shell - 类似于Python shell; 从某种意义上说,我可以在一个文件(脚本)中有一系列Python命令 - 或者我可以在shell中粘贴相同的命令,然后它们将执行相同的命令.关于上面的简单程序,这是我希望能够做到的(C>
代表想象的提示):
C> #include <stdio.h>
(stdio.h included)
C> int a=2;
C> printf("Hello World %d\n", a);
Hello World 2
C>
Run Code Online (Sandbox Code Playgroud)
换句话说,我希望能够以交互方式执行单独的C命令(我猜这会代表各种类型的动态编译?).最初我被C shell(csh
)的名称误导了- 但我不认为它能够动态执行C命令.
所以,首先,我想知道是否有可能以某种方式说服gdb
以这种方式执行?如果没有,还有什么可以让我做类似的事情(也许是一些特殊的外壳)?
至于上下文 - 我有一些代码,我有问题排除结构之间的指针等; 这里gdb打印输出结构的方式非常好 - 但是,为了隔离问题,我必须制作新的源文件,粘贴数据,重新编译和调试.在这种情况下,我宁愿有某种壳的贴几个结构(和它们的初始化命令)的可能性-然后,检查使用printf
(甚至更好,一个类似于gdb
的print
)直接输入上壳. …