C 語言有沒有REPL啊?

不知道有沒有類似的工具,類似:

$ python

Python 2.7.12 (default, Sep 29 2016, 13:30:34)

[GCC 6.2.1 20160916 (Red Hat 6.2.1-2)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

&>&>&>

如果沒有, 是什麼樣的原因呢?

如果有,又做到了什麼程度了呢?


有倆比較出名的,一個是Cling,一個是CINT。前者可以看作是後者的全新版本,兩者都是CERN開發的。

傳送門:

Cling:ROOT a Data analysis Framework

CINT:ROOT a Data analysis Framework

Cling基於Clang/LLVM實現,支持相當新的C與C++標準,外加一些REPL特有的便捷功能。

這倆REPL都相當好用…誰說用C++做開發就得羨慕別的有REPL的語言實現了&>_&<

======================================

當然除了CERN的那倆之外,還有若干其它實現。給C/C++做REPL這麼好玩的事怎麼會只有一幫人做呢是吧。

例如說,還有大名鼎鼎的Ch:The SoftIntegration Ch standard edition

Dr. Dobbs上介紹Ch的文章:Ch: A C/C++ Interpreter for Script Computing

這個郵件列表討論串里就有人嘗試基於TCC(TinyCC)的libtcc來做C的REPL:[Tinycc-devel] TinyCC REPL (請順著討論串一直向後看)

有基於GCC的IGCC:Interactive GCC - C/C++ REPL

有同樣基於GCC的c-repl:evmar/c-repl

還有一個基於Cling的網站,C++ Fiddle:LoopPerfect - C++ Fiddle

放張剛實驗的截圖:

還有一個網站有各種語言的REPL,包括這個基於GCC的C REPL:repl.it

放張剛實驗的截圖:


有一個古老的商業產品叫 Ch:Ch Demonstration


cern的ROOT。用過好幾年,不過應該算c++的吧。


推薦閱讀:

如何評價《王垠:C 編譯器優化過程中的 Bug》?
C語言(GCC)如何編譯多個文件?
C 語言用 gcc 和 vs2013 編譯有什麼區別?
如何評價《編譯系統透視:圖解編譯原理》一書?

TAG:C編程語言 | LLVM |