2009-04-17 12 views
14

コンパイルされたものではなく、解釈されるC++コードを実行する方法はありますか?だから私はコードを編集し、その場で関数を書くことができますか?実行C++を実行しますか?


関連:

+1

可能ではあるが、これは本当に良いアイデアではありません。 C++は通訳にはあまり適していません。その基本的な強さ(速度)はなくなり、その欠点(比較的低レベル、間違ったポインタに対するエラーチェックなど)はまだ残っています。通訳ではすべてを行うことはできません。多くの言語に適したインタープリット言語が多くあり、コンパイルと実行のためのjitコンパイラが用意されているため、実際にコンパイルされている間はユーザの視点からインタプリタのように動作します。 –

答えて

10

は、組み込み可能なC++インタプリタをChを見てみましょう。

Chが プログラミング、2D/3Dプロット、数値 コンピューティング、および組み込みスクリプトシェル、クロスプラットフォームスクリプト用埋め込みC/C++インタプリタ あります。 Ch は、 初心者がC/C++を学ぶためのC/C++コンパイラの代わりに、無料で使いやすい コンパイラです。

+0

私はまだchのオープンソース版がないのは不思議です。誰もそれを必要としないからかもしれない? – jokoon

2

CINTreadme)確かにシングルステップを有しています。しかし、私はその場で修正についてはわかりません。

5

ChとCINT(通常はROOTシステムの一部として)はC++を解釈します。しかし、CINTでの私の経験はうまくいっていません。言語サポートは完全ではありません(特にテンプレートが関係している場所では)、実行はずっと遅く、例えばバグの履歴があります。可変スコープとループが終了し、(IMO)それは価値よりも面倒です。言語として、C++は解釈のために独特に設計されていません。

インタープリターコードを実行する必要がある場合は、PythonやRubyのような現代的な解釈言語を使用しないでください。 SWIGのようなツールを使用して、必要に応じて既存のC/C++ライブラリに接続することができます。

+5

「設計が不適切」と表示されています。私は "設計されていないと病気に適して"と言うだろう – MSalters

+0

Javaはまた、本当に良い翻訳言語です:) –

0

これはあなたの質問に正確に答えませんが、おそらくそれが役に立ちます。

MS C++コンパイラは、プログラムをシャットダウンすることなく、停止、変更、再コンパイルを可能にする編集と継続をサポートします。&

0

1月のCUSECのデモキャンプで、cconsでプレゼンテーションを見ました。その目的は、Pythonのようなインタラクティブなインタプリタを提供することです。それは初期の段階でしたが、私にはそれほど感動しませんでした。

関連する問題