__declspec

NodeDumpをruby-mswin32 v1.8.1用にBuildした.大学のサーバが復活したら(月曜の予定),そっちに置きますが,今すぐ欲しい方はコメントをば.

Buildの手順は,

  1. VisualStudio.NET 2003 Academicでプロジェクトを作成
  2. プロジェクトはWin32/DLLで,空のプロジェクトを作成する
  3. プロジェクトのプロパティで,追加のIncludeディレクトリと,ライブラリディレクトリを設定
  4. 追加のライブラリファイルに,msvcrt-ruby18.libを追加.
  5. C言語としてコンパイルするよう設定
  6. 64bit拡張への対応をOffに
  7. プロジェクトに> ruby extconf.rbして得られる,nd_versions.h,node_names.h,nodeDump.cを登録
  8. nodeDump.cのInit_NodeDumpに__declspec(dllexport)を追加
  9. ビルド
  10. できたDLLをコピー

以上.

他の拡張ライブラリも同じ手順で,exportする関数に__declspec(dllexport)を付ければ,ビルドできるんじゃないかと思う.

例:

__declspec(dllexport) void Init_NodeDump()
{
  ...