【お知らせ】プログラミング記事の投稿はQiitaに移行しました。

2012-04-19から1日間の記事一覧

PythonでJIT

PythonでJITをしてみました。32bit Windowsに依存したコードです。【注】PyPyのようにPythonのコードをJITコンパイルしたわけではありません。CPythonからバイナリ直書きでネイティブコードを生成して実行しました。VBAでも同じことをやりましたが、それに比…

VBAでJITからコールバック

VBA

VBAでJITから文字出力するため、Debug.Printのラッパーを定義してコールバックさせてみました。ラッパーのアドレスを引数で渡しています。簡単に見えますが、結構ハマりました。 pushでespがずれたのを忘れて[esp+8]で引数を取ろうとした。 PutCharの引数にB…

VBAでJIT

VBA

VBAでJITをしてみました。 生成したマシン語を直接呼び出すことができないため、EnumWindows()のコールバックとして呼び出しています。 コールバックには1つだけ引数を指定できます。配列のポインタを渡して、その配列で引数と戻り値をやり取りしています。 …