C 語言有沒有REPL啊?
01-12
不知道有沒有類似的工具,類似:
$ pythonPython 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 FrameworkCINT: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 編譯有什麼區別?
※如何評價《編譯系統透視:圖解編譯原理》一書?