[#38470] ruby-dev summary 21403-21530 (draft) — Minero Aoki <aamine@...>

青木です。

25 messages 2003/10/07
[#38475] Re: ruby-dev summary 21403-21530 (draft) — maili31s@... (SugHimsi==SUGIHARA Hiroshi) 2003/10/07

すぎむし。

[#38480] Re: ruby-dev summary 21403-21530 (draft) — Minero Aoki <aamine@...> 2003/10/08

青木です。

[#38481] marshal_dump (was Re: ) — m_seki@... 2003/10/08

[#38484] Re: marshal_dump (was Re: ) — matz@... (Yukihiro Matsumoto) 2003/10/09

まつもと ゆきひろです

[#38486] Re: marshal_dump (was Re: ) — Masatoshi Seki <m_seki@...> 2003/10/09

咳といいます

[#38489] exit status on exit! — YANAGAWA Kazuhisa <kjana@...4lab.to>

<http://www.unixuser.org/~ysjj/diary/?200310a&to=200310082#200310082>

29 messages 2003/10/09
[#38490] Re: exit status on exit! — Koji Arai <JCA02266@...> 2003/10/09

新井です。

[#38503] Re: exit status on exit! — YANAGAWA Kazuhisa <kjana@...4lab.to> 2003/10/10

In Message-Id: <20031010.082218.74733862.JCA02266@nifty.ne.jp>

[#38505] Re: exit status on exit! — Koji Arai <JCA02266@...> 2003/10/10

新井です。

[#38507] Re: exit status on exit! — matz@... (Yukihiro Matsumoto) 2003/10/11

まつもと ゆきひろです

[#38514] Re: exit status on exit! — YANAGAWA Kazuhisa <kjana@...4lab.to> 2003/10/11

In Message-Id: <1065883639.405037.23137.nullmailer@picachu.netlab.jp>

[#38515] Re: exit status on exit! — WATANABE Hirofumi <eban@...> 2003/10/11

わたなべです。

[ruby-list:38619] dl and win32 API call

From: arton <artonx@...>
Date: 2003-10-20 14:53:22 UTC
List: ruby-list #38619
artonです。

win32に特化した問題ですが、ruby-win32が止まっているようなのでこちらに振
ります。

主題:ruby-1.8.0添付のdlを利用してWIN32 APIを呼び出すとスタックポインタ
がずれる。元の話題はhttp://www.tietew.jp/beckrb/msg00113.html です。
詳細:WIN32 APIでは、引数のスタックからのポップを呼ばれた側が実行する。
しかし、dlは関数呼出し後に引数をスタックからポップする。そのため、引数の
分だけ余分にスタックポインタがポップされてしまう。

ただし、現状では問題が出ていないようです。MSVC版での動作の検証結果は
http://arton.no-ip.info/collabo/backyard/?StdDeclCDecl
に記述してあります。
しかし、WIN32版Rubyには、MSVC6版以外にMingw, bcc, cygwin, MSVC7などあっ
て、これらの場合についてまではわかりません。いずれにしろ、不正な動作なこ
とには変わらないため、現状が望ましいとも思えません。ちょっと検討した結果
は、
http://arton.no-ip.info/collabo/backyard/?DlPatch
にあります。が、ここで挙げているパッチ自体いささか中途半端だということと、
他のコンパイラではどうなのか、といった点が抜けています。
よろしければ、各コンパイラでの現状はどうなのか、どうすることが望ましいか、
について検討しませんか? 

なお、僕は、
1. WIN32APIについては従来通りwin32api.so、C関数についてはdl を使い分ける
2. dlがすべて(自動で)面倒見る
3. dlにWIN32API用とC関数用の2種類のクラスを持つ(他のプラットフォームで
は無意味)
の選択であれば、2.が望ましいと考えますが、3.はともかく、1.というオプショ
ンもあるので、これも検討の余地があると思います。
また、上記のように、MSVC6版については現状でほぼ問題ないので、そのまま置
いておくという選択肢もあるようにも思えます。

それでは。

-- 
arton <artonx@yahoo.co.jp>

__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!
http://bb.yahoo.co.jp/


In This Thread

Prev Next