toge's diary

コンピュータ関連の趣味をつらつらと。

TCC

gcc/iccとtccの実行速度差

うーん、やっぱり気になって最適化した場合との差を出してみました。面倒くさいのでfiソースは一番最後に載せるとして。 結果コンパイルオプションはこんな感じ。 gcc: -O3 -march=athlon-xp icc: -O3 -march=pentium4 さて結果はというと・・・ 項目 tcc0.9…

動的実行時にWindowsでSIGILL発生

libtccを使って動的にCプログラムをコンパイル、実行させて見ることに。 Program received signal SIGILL, Illegal instruction.うげ、不正だとさ。どうしたもんか・・・VirtualAllocateとか使ってないな。どうなってんだ?2年前に同じ投稿があるけれど無視…

Tiny C Compiler

http://fabrice.bellard.free.fr/tcc/gccの9倍コンパイル・コード生成が速いコンパイラ。Linux Kernel(バージョンが不明)が10秒で出来るらしい。x86プラットフォームがメインだけどTMS320C67xxとか、ARMにも対応しているそうな。ついでにライセンスもLGPLと…

Windowsで動きました!

「もしかして関数呼び出し規約の問題?」と考えてここらへんを読みながら調べてたんですが・・・。もっと簡単なところでした。分かったのはざっとこんな感じ。 MinGWでコンパイルする。 configure --prefix=/home/toge/tccと実行する。 tcc_reallocate()で/ho…

Linuxでは初期化さえ失敗するし

http://lists.gnu.org/archive/html/tinycc-devel/2003-06/msg00014.htmlLinuxでも一筋縄ではいきませんな。 まずはtccelf.c内で/usr/lib/libc.soを読み込んでいるのですけど、ld scriptのパーズに失敗しているのよね。超adhocに修正してみました。本当はld …