藤本です、こんにちは。

From: "MAEDA Shugo" <shugo / aianet.ne.jp>
Subject: [ruby-dev:2779] Re: experimental release 1.1b9_21
Date: Fri, 29 May 1998 00:30:41 +0900

> 前田です。
> 
> >どうも、拡張モジュール側で、
> >
> >__declspec(dllimport) VALUE cObject;
> >
> >としてやる必要があるようですね。
> >となると、いっそのことruby.def/ruby.expを使うのはやめて、
> >ruby.h/intern.hを修正した方が良いでしょうか。
> 
> とりあえず、全部変更するのは大変そうなので、問題になる
> 部分だけ変更してみました。
> とりあえず落ちるという事態は免れたのですが、socketは
> ちゃんと動いていないようです。

#BeOSな話しですみません

  お願いなのですが、当面、BeOSの__declspec対応箇所については条件を

#ifdef __BEOS__

じゃなくて

#if defined(__BEOS__) && ! defined(__POWERPC__)

にしておいて頂けないでしょうか。PowerPCバージョンではこの問題がなく動
いていることと、__declspecを使いはじめると修正箇所があちこち増えて泥沼
にはまらないだろうかという心配があるからです。

  それから疑問に思ったのですが

__declspec(dllexport) VALUE cObject;

にexternはなくてもいいのでしょうか?変数に対する__declspec(dllexport)
はexternも兼ねるのかなぁ。また

> --- ext/socket/socket.c.orig	Fri May 29 00:01:27 1998
> +++ ext/socket/socket.c	Fri May 29 00:03:30 1998
> @@ -41,8 +41,13 @@
>  #define EWOULDBLOCK EAGAIN
>  #endif
>  
> +#ifdef __BEOS__
> +__declspec(dllimport) VALUE cIO;
> +__declspec(dllimport) VALUE cInteger;
> +#else
...
> +#ifdef __BEOS__
> +__declspec(dllimport) VALUE eStandardError;
> +#else

とするとどこかで

__declspec(dllexport) VALUE cIO;

などが必要にならないのでしょうか?

=============================================================
 藤本尚邦  FUJIMOTO Hisakuni                hisa / imasy.or.jp
=============================================================