Ch -- 一个 C/C++ 解释器 - Random Tech Thoughts

Ch -- 一个 C/C++ 解释器

2009-11-05

动态语言很重要的一个功能就是支持交互式的开发,用惯了 Python 有时候非常希望 C 也能有一个解释器来用,尤其是忘了 C 的某些语法想写个简单的例子来测试的时候。

很久以前就搜过 C 的解释器,搜到过 Ch,不记得当时为什么没有试用过。今天下了个免费版本的用了下,很不错,支持 C90 和 C99 的主要功能,C++ 支持不完全(不过 C++ 我基本不关心)。

以前想要测试 C 的某个语法功能时会写个文件,int main 什么的搞一堆,然后用 tcc (Tiny C Compiler) 来测试。tcc 可以把 C 代码的编译和执行放在一步完成,执行 tcc -run foo.c 就可以看到效果了,还算方便。

用 Ch 就更方便了。ch 命令出来个交互式的 shell,输入 C 代码马上执行,调 printf 直接看到效果,输入变量就可以看到它的值(struct 的话可以看到每个成员的值),做点小的测试就不需要写 int main 之类的了。另外 ch 还有函数名补全。

Ch -- 一个 C/C++ 解释器相关推荐

  1. 【编译原理】构建一个简单的解释器(Let’s Build A Simple Interpreter. Part 9.)(笔记)语法分析(未完,先搁置了!)

    [编译原理]让我们来构建一个简单的解释器(Let's Build A Simple Interpreter. Part 9.) 文章目录 spi.py spi_lexer 我记得当我在大学(很久以前) ...

  2. 【编译原理】构建一个简单的解释器(Let’s Build A Simple Interpreter. Part 8.)(笔记)一元运算符正负(+,-)

    [编译原理]让我们来构建一个简单的解释器(Let's Build A Simple Interpreter. Part 8.) 文章目录 C语言代码(作者没提供完整的python代码,关键的改动提供了 ...

  3. 【编译原理】构建一个简单的解释器(Let’s Build A Simple Interpreter. Part 7.)(笔记)解释器 interpreter 解析器 parser 抽象语法树AST

    [编译原理]让我们来构建一个简单的解释器(Let's Build A Simple Interpreter. Part 7.) 文章目录 python代码 插--后序遍历 C语言代码(有错误) C语言 ...

  4. 【编译原理】让我们来构建一个简单的解释器(Let’s Build A Simple Interpreter. Part 6.)(python/c/c++版)(笔记)

    [编译原理]让我们来构建一个简单的解释器(Let's Build A Simple Interpreter. Part 6.) 文章目录 python代码 C语言代码 总结 今天是这一天:) &quo ...

  5. 【编译原理】让我们来构建一个简单的解释器(Let’s Build A Simple Interpreter. Part 5.)(python/c/c++版)(笔记)Lexer词法分析程序

    [编译原理]让我们来构建一个简单的解释器(Let's Build A Simple Interpreter. Part 5.) 文章目录 python代码 C语言代码 总结 你如何处理像理解如何创建解 ...

  6. 【编译原理】让我们来构建一个简单的解释器(Let’s Build A Simple Interpreter. Part 4.)(python/c/c++版)(笔记)

    [编译原理]让我们来构建一个简单的解释器(Let's Build A Simple Interpreter. Part 4.) 文章目录 python代码 C语言代码 总结 在上一篇文章中,您学习了如 ...

  7. 【编译原理】让我们来构建一个简单的解释器(Let’s Build A Simple Interpreter. Part 3.)(python/c/c++版)(笔记)

    [编译原理]让我们来构建一个简单的解释器(Let's Build A Simple Interpreter. Part 3.) 文章目录 python代码calc3.py C语言代码(calc3.cp ...

  8. 【编译原理】让我们来构建一个简单的解释器(Let’s Build A Simple Interpreter. Part 2.)(python/c/c++版)(笔记)

    [编译原理]让我们来构建一个简单的解释器(Let's Build A Simple Interpreter. Part 2.) 文章目录 python代码 c代码 总结 让我们再次深入研究解释器和编译 ...

  9. 【编译原理】让我们来构建一个简单的解释器(Let’s Build A Simple Interpreter. Part 1.)(python/c/c++版)(笔记)

    原文:Let's Build A Simple Interpreter. Part 1. 文章目录 [编译原理]让我们来构建一个简单的解释器(Let's Build A Simple Interpre ...

最新文章

  1. java 同一个package import_【编程基础】Java 中的Package和Import
  2. Java编译器优化与运行期优化技术浅析
  3. 韩顺平 php 聪明的小猫代码,聪明的小猫作文150字
  4. oracle sqlplus help,oracle: 安装sqlplus help帮助命令
  5. python中delta是什么意思_python – 根据dataframe中的值计算delta
  6. python类的数组属性_python3库numpy数组属性的查看方法
  7. 方剂学(综合练习)题库【1】
  8. 极客时间MySQL实战45讲笔记
  9. matlab 凸多边形,matlab练习程序(多边形顶点凹凸性)
  10. 没想到钱多多的求职之路竟如此艰辛,求大佬指点
  11. win10下定时任务备份,bat脚本运行
  12. 淘宝、百度、腾讯、新浪开放平台
  13. 现代信息技术(IT)对会计模式的影响(by 杨烈飙)
  14. 传智播客JDBC视频教程
  15. 怎样在Flex里使用FlexUnit
  16. 苹果mac休眠快捷键_哪里不会点哪里苹果电脑应用手册
  17. 实战--利用HierarchicalClustering 进行基因表达聚类分析
  18. 《双积分AD转换器》的制作经历
  19. linux删除文件的时候出现设备或者资源忙、linux挂载卸载不掉 umount target is busy
  20. unity3d学校的课程内容有哪些?

热门文章

  1. CentOS学习日记:PostgreSQL篇
  2. Phalcon入门教程之安装
  3. 怎样玩儿转App手游自动化测试?
  4. php下session入memcached
  5. memcached完全剖析–1. memcached的基础
  6. [导入]ASP.Net环境下使用Jmail组件发送邮件
  7. c语言 python rsa库_Python遇到性能瓶颈怎么办?
  8. XXL-Job分布式任务调度
  9. 解决ubuntu adb devices 找不到设备
  10. FastReport.Net使用:[36]续表