2009-02-25 177 views
110

我想知道是否有類似C的解釋器。也就是說,在Linux終端中,我可以鍵入「python」,然後在該解釋器中編碼。 (我不確定解釋正確的詞)。這對於測試不同的東西非常有幫助,我很好奇C是否存在類似的東西。儘管我懷疑它。我能想到的唯一的事情會做這將是C shell中...C有翻譯嗎?

+5

正確的話,你要的是「殼」或「提示」或「REPL」( Read-Eval-Print-Loop,參考在Lisp中必須加入Lisp解釋器的4個Lisp命令),但解釋器可以工作。 – 2009-02-25 04:40:03

+1

另一方面,您正在尋找的術語是REPL(Read Evaluate Print Loop)。 – Travis 2009-02-25 05:05:33

+0

[是否有C語言編程的REPL?](http://stackoverflow.com/q/10766900/309483) – 2014-01-31 12:29:55

回答

72

There are many - 如果你縮小問題的範圍,我們也許能夠提出一些具體的您的需求。

一個值得注意的解釋是「Ch: A C/C++ Interpreter for Script Computing」詳見布斯博士:

Ch是一個完整的C解釋器 支持所有語言功能和ISO C90 標準 標準庫,但擴展了C與許多 高級功能,如字符串 類型和計算數組作爲 第一類對象。

Ch standard is freeware但不是開源的。只有Ch專業人員有繪圖功能和其他可能需要的功能。

我從來沒有在這之前看了,但手頭上一個C解釋聽起來非常有用的,這是我很可能會添加到我的工具集。謝謝你的問題!


編輯:

剛剛發現我最喜歡的編譯器,TCC,一人將執行C腳本:

它還可以處理C腳本文件(只 添加家當線 「#!/ usr/local/bin/tcc -run」到您的C源代碼文件 的第一行,並將其直接執行到Linux上

在'infile'的 處使用' - '時,TCC可以從 標準輸入中讀取C源代碼。例如:

echo 'main(){puts("hello");}' | tcc -run - 
1

曾有人做過,即使絕大多數C工件的編譯。一個例子是CH

7

給看看到Ch Interpreter

Ch是一個可嵌入的C/C++解釋爲 跨平臺的腳本,外殼 編程,2D/3D繪圖,數值 計算和嵌入的腳本。

9

ROOT項目提供了一個功能非常強大的C和C++解釋器,稱爲Cint。我很喜歡它。不過,這需要一點時間來解釋。

TCC是一個非常不錯的選擇爲好,但我不能夠保證其REPL

6

我知道我們在課堂上使用CINT。它似乎很好,你可能想試試看!

18

picoc - 一個非常小的C解釋

PicoC對於腳本非常小C的解釋。原本是 被寫爲無人機機載飛行系統的腳本語言。 它也非常適用於其他機器人,嵌入式和非嵌入式應用。

3

ccons出現,以滿足您的約束:

的CCONS項目的目標是創建C編程語言中的交互式控制檯,類似「蟒蛇」和「IRB」爲Python和Ruby分別。該項目建立在clang和llvm之上。