VC++6からRubyを実行

SVNとかに登録することも考えて、必要なファイルをプロジェクトファイル内にコピーして使う。

  • C:\Ruby\lib\msvcrt-ruby18-static.lib
  • C:\Ruby\lib\ruby\1.8\i386-mswin32\win32フォルダ
  • C:\Ruby\lib\ruby\1.8\i386-mswin32\*.h

プロジェクトの設定>リンクで以下を追加

  • msvcrt-ruby18-static.lib
  • Ws2_32.lib

Rubyを使う場所で以下をインクルード

  • #include
  • #include
  • #include "ruby.h"

以下サンプルコード

 const char *script =
  "def multiply(x,y)\n"
  "  return x*y\n"
  "end";

 VALUE value;
 ruby_init();

 // スクリプトの読み込み
 rb_eval_string(script);

 // スクリプトの実行
 value = rb_funcall(Qnil,rb_intern("multiply"),2,INT2NUM(3),INT2NUM(9));
 printf( "Ans = %d\n", NUM2INT(value));

 ruby_finalize();

ネタ元