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

Rubyからマシン語を直接呼ぶ

Ruby1.9のDLで。 require 'DL' str = "\xb8\xff\x7f\x00\x00\xc3" # mov eax, 0x7fff : ret i = [str].pack("P").unpack("l!")[0] cfunc = DL::CFunc.new(i, DL::TYPE_INT) p cfunc.call([]) #=> 32767 文字列としてバイナリを直接生成して、そのポインタをD…