質問

したいのですが、めます。私は現在、評価の除去.これまでに今回はしっかりとCがそのスピードの実行コンパイルして、小さな使いやすいコンパイラと呼ばれTCC.

の議論についてはこちらをそのまま使用すると中間言語行うことによりさせるためにどうしたらいいのかな対応のガーベッジコレクション、取扱いに例外をスローしました。これまでに思いを解決できるもっともオーバーヘッド。

ここでの私の思いはその他で除去:

  1. 組立て:unportable計痛めのプログラムです。
  2. .純益:感遅くなります。5秒程度と5秒の評価1+2IronpythonとBoo.きな大図書館があります。
  3. JVM:を感じる少し遅くなります。アクセスできないバイナリが書けます。きな大図書館があります。
  4. LLVM:窓なします。なんと編纂実行ファイルサイズは16mb+
  5. C--:う十分に発展していない。
  6. C++:ある。んでいるのが素敵な小型の無いバンドルです。

きは変更する私のやりに追加リスト?

編集

私の実験を重ねてきたLLVMました。していることが分かったもの一般的な状態とが可能であることをコンパイルにネイティブます。

http://www.antlr.org/wiki/display/CS652/Generating+machine+executable+binaries+with+LLVM

ここでの手順:

  1. ラllvm-としてLLVM組み立て、LLVM bytecodeファイルです。
  2. ラllcのLLVM bytecodeファイルに収集ファイルです。
  3. ラアセンブラのファイルオブジェクトファイルです。(やllvm-ldをしていることも考えられる外部に設置cコンパイラ)
  4. コンパイルを実行可能なgccなど。
役に立ちましたか?

解決

いますと、フロントエンドのための GCC?私はこのための完全性"酒のみをきかディスクアットワンスモードでのインタフェースは、非常に複雑で、コードベースなので硬識の解消に役立ちます。

一方、GCCが成熟した製品を多くの専門家プログラマに取り組んでいます。したがって、少なくともその最もベースのすべての手段を選択する

個人的には思うLLVM(キarchitecture)を用います。純のIL:非常に使いやすく、ツール支援リフレクタ, Cecil, Reflexil 最後に、非常に重要なことは、.純反射API)と非常に効率的な実装(すなわち、Microsoftの標準実装では、Mono).

ができません請求項のノウハウを築いので、この答えを一粒の塩です。

他のヒント

その場合はLLVMは、おそらくより良い選択です。

LLVMは、Windowsをサポートしている、それだけでコンパイルするためにいくつかの時間がかかります。

C ++の代わりにCを使用し、非常にあなたを与えることはありません。しかし、早くCのように、彼らは、彼らが遅いロードしてくださいウェブで使用する、言語、使用.NETやJavaを、したい場合、彼らはあるときます。

SmartEiffel のために我々は、バックエンドとしてCを使用します。

TCCは(生成されるオブジェクトは、GCC -O0に相当する)、最終放出のためのけれども開発 - ないために非常に良い選択肢である

別のリストに追加する:スラバは最近<のhref = "http://factor-language.blogspot.com/2009/04/sup-dawg-we-heard-you-like-smalltalk上のSmalltalkを実装-so.html」のrel = "nofollowをnoreferrer">ファクターバックエンドに。私はこれを自分で試していませんが、私はそれが下位レベルのものからサイズ/パフォーマンスのようなより多くで、より高いレベルのものから必要な機能の多くを提供するであろう感じています。

TCCは最良の選択です。それは、ポータブルであり、それは簡単にlibtccと呼ばれているバックエンドとして使用することができますので、それはライブラリを持っています。実行可能ファイルは、GCCよりも小さく、これは、ANSI Cである。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top