ときどき、Pythonで大量のデータを処理するので、高速化したい関数だけCで書こうかしらん、という野望。
via 404 Blog Not Found:C – は「LLですが、なにか?」
tccは高速でコンパクトなC言語のコンパイラ。他の言語から、C言語のソースプログラムを文字列として渡して、機械語へ高速に変換、実行することもできます。
まずはtccをインストールする手順のメモ。
Windows用バイナリアーカイブも配布されているのですが、残念ながらlibtcc.dllが同梱されてません。
ネットで探すと、何箇所かでバイナリが配布されてるみたいなのですが、今回は自分でビルドすることに。
tccのインストール
libtcc.dllを作成
デフォルトではlibtcc.dllが作成されないので、こちらのページを参考にしてビルドいます。
getdll.batというファイルをソースフォルダに作成。中身は
gcc -O3 -shared -Wall -Wl,--export-all-symbols -mpreferred-stack-boundary=2 -march=i386 -falign-functions=0 -fno-strict-aliasing -DTCC_TARGET_PE -DLIBTCC -o libtcc.dll tcc.c
msysからgetdll.batを実行。警告がいっぱい出ますが、今回は無視の方向で。。。
以下のコマンドを実行して、定義ファイルlibtcc.defを作成
tiny_impdef libtcc.dll
- libtccフォルダ
- libtcc.dllは(configureで指定した) tcc.exeがインストールされたフォルダへコピー。(でフォルトではc:\Program Files\tcc)
- libtcc.hはincludeフォルダへ
- libtcc.defはlibフォルダへ
- tccにパスを通す
これで tccのインストールは終了。
次回は Pythonとの連携作業に移ります