web-dev-qa-db-ja.com

C用のインタープリターはありますか?

Cのインタープリターのようなものがあるかどうか疑問に思っていました。つまり、Linuxターミナルで「python」と入力し、そのインタープリターでコードを入力できます。 (通訳者に正しい言葉がわからない)。これは、さまざまなことをテストするのに非常に役立ちます。Cに似たようなものが存在するかどうか興味があります。私が考えることができるのはCシェルだけでしょう...

112
devin

多数あります -質問の範囲を絞り込むと、ニーズに特定の提案をすることができます。

注目すべきインタープリターは、「 Ch:スクリプトコンピューティング用のC/C++インタープリター 」です。詳細については、ドブス博士:

Chは、ISO C90標準のすべての言語機能と標準ライブラリをサポートする完全なCインタープリターですが、文字列型や計算配列などの多くの高レベル機能をファーストクラスオブジェクトとしてCを拡張します。

Ch標準はフリーウェア しかし、オープンソースではありません。 Ch Professionalのみが、プロット機能やその他の必要な機能を備えています。

私はこれを見たことがありませんが、cインタープリターを手元に持っていると非常に便利に聞こえます。質問ありがとう!


編集:

私のお気に入りのコンパイラの1つ [〜#〜] tcc [〜#〜] がCスクリプトを実行することがわかりました。

また、Cスクリプトファイルも処理します(シバン行 "#!/ usr/local/bin/tcc -run"をLinuxのCソースコードファイルの最初の行に追加して直接実行します)。

TCCは、「infile」の代わりに「-」を使用すると、標準入力からCソースコードを読み取ることができます。例:

echo 'main(){puts("hello");}' | tcc -run -
72
Adam Davis

picoc -非常に小さなCインタープリター

PicoCは、スクリプト用の非常に小さなCインタープリターです。もともとは、UAVの機内飛行システムのスクリプト言語として書かれていました。また、他のロボット、組み込みおよび非組み込みアプリケーションにも非常に適しています。

18
aleroot

rOOTプロジェクトは、 Cint と呼ばれる非常に機能的なCおよびC++インタープリターを提供します。私はそれが大好きです。ただし、解釈に慣れるには少し時間がかかります。

TCCも非常に良い選択ですが、REPLを保証することはできません

恐らく。 C++にはいくつかあります。例については、 コンパイラではなくC++インタプリタを使用しましたか? を参照してください。確かに cint はほぼすべてのcコードを食べて良い結果が得られ、 tcc は非常に高速なので、インタープリターのように使用できます。

8
dmckee

Ch Interpreter を見てください。

Chは、クロスプラットフォームスクリプティング、シェルプログラミング、2D/3Dプロット、数値計算、埋め込みスクリプト用の埋め込み可能なC/C++インタープリターです。

7
CMS

クラスでCINTを使用していることは知っています。あなたはそれを試してみたいと思うかもしれません!

6
Javed Ahamed

チェックアウト iGCC

5
Neel Basu

cinterpは開始用です。

4
paxdiablo

cconsはあなたの制約を満たすように見えます:

Cconsプロジェクトの目標は、Cプログラミング言語用の対話型コンソールを作成することです。PythonおよびRuby 。プロジェクトは、clangとllvmの上に構築されます。

3
icktoofay

CompCertを使用できます。以下に例を示します。 http://compcert.inria.fr/man/manual004.html

2
Janus Troelsen

最近ではCling(LLVM/Clangに基づく)があります

http://root.cern.ch/drupal/content/cling

2
ideasman42

大部分のCの作業はコンパイルされていますが、これは行われています。一例は [〜#〜] ch [〜#〜] です

1
Rob Lachlan

CERNには、ROOTと呼ばれるツールキットがあります。これは主に科学分析やデータ分析などを目的としていますが、Clingと呼ばれるClangベースのC/C++インタープリターがあります。

彼らはClingを適応させる前に[〜#〜] cint [〜#〜]というCインタプリタを使用していました。 CINTは軽量であり、まだダウンロードできるようです。

ウィキペディアのリストの記事を注意深く検索することで、他のものを入手できると思います。

0
user9600383