Xbyak
assemberのことをググってたら面白いものを発見。
http://homepage1.nifty.com/herumi/soft/xbyak.html
実行時にマシン語を生成するクラスライブラリらしい。
ひとつめのサンプルをやってみた(gcc-4.3 gentoo)。
http://labs.cybozu.co.jp/blog/mitsunari/xbyak/
main.cpp:9: error: call of overloaded ‘call(int)’ is ambiguous /usr/local/include/xbyak/xbyak.h:1181: note: candidates are: void Xbyak::CodeGenerator::call(const char*) <near match> /usr/local/include/xbyak/xbyak.h:1185: note: void Xbyak::CodeGenerator::call(const void*) <near match>
と怒られたので
call((void*)puts);
としたら通った。
これなら、gccとvcで同じアセンブラが書けるのでよいのではないか。
inlineアセンブラとはちっと違うらしいが
むしろ、おもしろそうなのでやってみる。