Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Q] UNIX->Windowsの関数呼び出し

8 views
Skip to first unread message

takahide nojima

unread,
May 8, 2005, 10:17:19 PM5/8/05
to
nojimaです。

Windows XP用途に提供されたライブラリ(*1)をUNIXマシンから
利用するような場合、最も良い方法はありますでしょうか?
ヒントでも結構です。

なお、

1. (*1)のライブラリは.NET開発環境用途のバイナリ提供なので中身は不明です。
ライブラリに含まれる関数の使い方はマニュアルで提供されています。

2. オープンソースな物を利用して簡単なプログラム程度で利用可能だと嬉しい
です。

3. 出来ればWindows側で作成するプログラムは最小限にしたいです。

現在判っていること:

1) wineは考えたのですがこの元では動きませんでした。

2) 最悪、自分でTCPから操作できる関数ラッパーをWindows XP用途に独自で作り、
UNIXから叩く方法も検討してます。

3) Windows XPで動くオープンソースなCORBA実装が見つからず...
UNIXでいうところのRPCもWindows XP側で動くものが見つからず...

4) UNIX->Windowsへの呼び出し速度は問わないです。

5) SOAP呼び出しも考えましたが、Windows側のWebインターフェース構築の
手間が大きそうな予感がしているので躊躇してます...


Tadasuke YAMAGUCHI

unread,
May 9, 2005, 11:45:16 AM5/9/05
to
山口です。

>> Windows XP用途に提供されたライブラリ(*1)をUNIXマシンから
>> 利用するような場合、最も良い方法はありますでしょうか?

>> 1. (*1)のライブラリは.NET開発環境用途のバイナリ提供なので中身は不明です。
>> ライブラリに含まれる関数の使い方はマニュアルで提供されています。

+Windows BOX--------------------+ +UNIX BOX-----+
|Windows Library <- JNI -> Java | <==== RMI (TCP/IP) ====> | Java <--> ? |
+-------------------------------+ +-------------+

はどうですか?
--
Tadasuke YAMAGUCHI @ Hyogo

takahide nojima

unread,
May 9, 2005, 8:32:08 PM5/9/05
to
nojimaです。

tada...@galaxy.ocn.ne.jp (Tadasuke YAMAGUCHI) writes:

> >> 1. (*1)のライブラリは.NET開発環境用途のバイナリ提供なので中身は不明です。
> >> ライブラリに含まれる関数の使い方はマニュアルで提供されています。
>
> +Windows BOX--------------------+ +UNIX BOX-----+
> |Windows Library <- JNI -> Java | <==== RMI (TCP/IP) ====> | Java <--> ? |
> +-------------------------------+ +-------------+
>
> はどうですか?

なるほどです。JNIでライブラリを呼び出し、RMIで繋ぐというのは気が
つきませんでした。検討してみます。

ありがとうございました。


takahide nojima

unread,
May 9, 2005, 8:38:38 PM5/9/05
to
nojimaです。

takahide nojima <noj...@taito.co.jp> writes:

> > >> 1. (*1)のライブラリは.NET開発環境用途のバイナリ提供なので中身は不明です。
> > >> ライブラリに含まれる関数の使い方はマニュアルで提供されています。
> >
> > +Windows BOX--------------------+ +UNIX BOX-----+
> > |Windows Library <- JNI -> Java | <==== RMI (TCP/IP) ====> | Java <--> ? |
> > +-------------------------------+ +-------------+
> >
> > はどうですか?
>
> なるほどです。JNIでライブラリを呼び出し、RMIで繋ぐというのは気が
> つきませんでした。検討してみます。

この方法の延長だと、もしかして(Active?)Perlとかでもいけるでしょうか??
ど、ど、どんなでしょうか?やったことあるひとはいらっしゃいますでしょうか?

+Windows BOX-----------------------+ +UNIX BOX-----+
|Library <- XS -> Perl(SOAP::Lite) | <= SOAP (TCP/IP)=> | Perl <--> ? |
+----------------------------------+ +-------------+

ちなみにUNIX BOX上でSOAP::Liteをちゃんと使ったことはあります。足らない部分
も拡張したりして使っています。SOAP::Liteなら得意なんですが...
ただWindowsXP機ではやったことないので...

takahide nojima

unread,
May 12, 2005, 1:42:17 AM5/12/05
to
nojimaです。

WindowsでCORBA使えるんですな...知らなかったです。

> 3) Windows XPで動くオープンソースなCORBA実装が見つからず...

は後にホームページの情報を見つけました。すみません。上の引用は嘘でした。

http://www.02.246.ne.jp/~torutk/cxx/corba/

というわけで、CORBAも試してみます。

Yasushi Shinjo

unread,
May 13, 2005, 9:12:11 AM5/13/05
to
新城@筑波大学情報です。こんにちは。

In article <87psvxn...@taito.co.jp>
takahide nojima <noj...@taito.co.jp> writes:
> WindowsでCORBA使えるんですな...知らなかったです。
> http://www.02.246.ne.jp/~torutk/cxx/corba/

CORBA やるくらいなら、SunRPC (ONCRPC)でいいんじゃないですか。
昔、Windows から NIS をたたくのに使ったことがあります。

うちの若いのは、自分で RPC のライブラリを書いたみたい。スタ
ブ生成器はないので、スタブは手書き。数がすくなければ手書きも
たいしたことはないです。htonl() して write() とか、そんな感じ。

\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 電子・情報       \\

takahide nojima

unread,
May 15, 2005, 10:15:20 PM5/15/05
to
nojimaです。

y...@is.tsukuba.ac.jp (Yasushi Shinjo) writes:

> CORBA やるくらいなら、SunRPC (ONCRPC)でいいんじゃないですか。
> 昔、Windows から NIS をたたくのに使ったことがあります。
>
> うちの若いのは、自分で RPC のライブラリを書いたみたい。スタ
> ブ生成器はないので、スタブは手書き。数がすくなければ手書きも
> たいしたことはないです。htonl() して write() とか、そんな感じ。

なるほどです。まあ、CORBA実装のWin環境はOSSなものを見つけたので
「少々大げさかな?」とは思うものの利用のハードルは低そうな
気がしてます。

どなたかWin環境のSunRPCを誰か作って公開してないかなーと思うこのごろです。

Yasushi Shinjo

unread,
May 16, 2005, 10:34:47 AM5/16/05
to
新城@筑波大学情報です。こんにちは。

CORBA というと、Xウインドウの何かのデスクトップで使って、結
局、大分重かったという話、ありませんでしたっけ?

In article <87vf5j9...@taito.co.jp>
takahide nojima <noj...@taito.co.jp> writes:
> どなたかWin環境のSunRPCを誰か作って公開してないかなーと思うこのごろです。

5年前には、存在していました。URL は、こんな感じでした。

http://www.dcs.qmul.ac.uk/~williams/nisgina-current/src/rpc110/oncrpc.htm

今は、存在しません。

検索してみたら、出てきました。これだ思います。

http://lost-contact.mit.edu/afs/net/project/afs32/su.se/src/win32/nisgina-1.0.2.0/src/rpc110/ONCRPC.HTM

takahide nojima

unread,
May 16, 2005, 11:19:14 PM5/16/05
to
nojimaです。情報ありがとうございます。

y...@is.tsukuba.ac.jp (Yasushi Shinjo) writes:

> 新城@筑波大学情報です。こんにちは。
>
> CORBA というと、Xウインドウの何かのデスクトップで使って、結
> 局、大分重かったという話、ありませんでしたっけ?

CORBA+X環境だと、GNOMEでしょうか??

まあ、多くの人の使うような使い方ではデスクトップ用途にCORBAは
速度の面ではむいてなかったかも?ということなんでしょうね...

# なんでGNOMEのデスクトップ環境設計時においてCORBAが採用されたかの
#動機を自分も興味ありますので、今度調べてみようかなとは思ってます。

なお、今回はWin上で動作するライブラリの実行速度と呼び出しのパフォーマンスは
あまり要求されない用途なので、遅くてもも安心。

> In article <87vf5j9...@taito.co.jp>
> takahide nojima <noj...@taito.co.jp> writes:
> > どなたかWin環境のSunRPCを誰か作って公開してないかなーと思うこのごろです。
>
> 5年前には、存在していました。URL は、こんな感じでした。
>
> http://www.dcs.qmul.ac.uk/~williams/nisgina-current/src/rpc110/oncrpc.htm
>
> 今は、存在しません。
>
> 検索してみたら、出てきました。これだ思います。
>
> http://lost-contact.mit.edu/afs/net/project/afs32/su.se/src/win32/nisgina-1.0.2.0/src/rpc110/ONCRPC.HTM
>

情報ありがとうございます。でも見るとWin NT用途なんですね...ちょっと残念。

# MSプラットフォームはテクノロジの変遷激しくて、OSSのメンテが大変なのかなぁ...

Yasushi Shinjo

unread,
May 17, 2005, 4:48:04 AM5/17/05
to
新城@筑波大学情報です。こんにちは。

In article <87acmua...@taito.co.jp>
takahide nojima <noj...@taito.co.jp> writes:
> CORBA+X環境だと、GNOMEでしょうか??
> # なんでGNOMEのデスクトップ環境設計時においてCORBAが採用されたかの
> #動機を自分も興味ありますので、今度調べてみようかなとは思ってます。

たしかに。私も気になります。「オブジェクト指向」入っていると
いうことで、採用したのかも。

> > http://lost-contact.mit.edu/afs/net/project/afs32/su.se/src/win32/nisgina-1.0.2.0/src/rpc110/ONCRPC.HTM
> >
> 情報ありがとうございます。でも見るとWin NT用途なんですね...ちょっと残念。
> # MSプラットフォームはテクノロジの変遷激しくて、OSSのメンテが大変なのかなぁ...

NT用というか、当時は、Windows 95 と Windows NT しかなくて、
だから NT 用と書いてあります。NT 用と書いてありますが、2000
では動きました。XP で動かない理由は、ちょっと思いつきません。

使っているのは、socket() とか write() とか、bcopy() とかその
程度なので、Windows のバージョンに依存している部分は少ないん
じゃないかなあ。

売り物がいいなら、いろいろあるみたいです。キーワードは、
oncrpc windowsくらい。どれがいいかは、わかりません。

takahide nojima

unread,
May 17, 2005, 10:25:00 PM5/17/05
to
nojimaです。

y...@is.tsukuba.ac.jp (Yasushi Shinjo) writes:

> > > http://lost-contact.mit.edu/afs/net/project/afs32/su.se/src/win32/nisgina-1.0.2.0/src/rpc110/ONCRPC.HTM
> > >
> > 情報ありがとうございます。でも見るとWin NT用途なんですね...ちょっと残念。
> > # MSプラットフォームはテクノロジの変遷激しくて、OSSのメンテが大変なのかなぁ...
>
> NT用というか、当時は、Windows 95 と Windows NT しかなくて、
> だから NT 用と書いてあります。NT 用と書いてありますが、2000
> では動きました。XP で動かない理由は、ちょっと思いつきません。

うーん、せっかく情報頂いて申し訳ないのですが、残念ながら、現在は上の
ホームページにあるダウンロード先の

ftp://ftp.gmd.de/gmd/I5.RS/SRPC110.ZIP
http://set.gmd.de/~mfg/SRPC110.ZIP

がリンク切れの模様。残念です。

> 売り物がいいなら、いろいろあるみたいです。キーワードは、
> oncrpc windowsくらい。どれがいいかは、わかりません。

結構MSプラットフォームって、売り物で固めなきゃいけない状況って
多いのですなぁ...残念。

Yasushi Shinjo

unread,
May 18, 2005, 11:53:42 AM5/18/05
to
新城@筑波大学情報です。こんにちは。

In article <87mzqtb...@taito.co.jp>
takahide nojima <noj...@taito.co.jp> writes:
> > > > http://lost-contact.mit.edu/afs/net/project/afs32/su.se/src/win32/nisgina-1.0.2.0/src/rpc110/ONCRPC.HTM


> うーん、せっかく情報頂いて申し訳ないのですが、残念ながら、現在は上の
> ホームページにあるダウンロード先の

> がリンク切れの模様。残念です。

あ、わかりにくかったですね。上の HTML があるディレクトリは、
そのリンクの先を展開したものです。そこにCのソースがあります。
一発で持っていくなら、次のファイルがいいでしょう。

http://lost-contact.mit.edu/afs/net/project/afs32/su.se/src/win32/nisgina-1.0.2.0.tar.gz

私の手元にあるのは、zip だけれど。

展開すると、src/rpc110 というディレクトリができて、そこに
MAKE.BAT があります。それで、SunRPC の部分のライブラリは完結
しています。NISGINA は使わなくてもいいです。

to...@lbm.go.jp

unread,
May 18, 2005, 7:42:00 PM5/18/05
to
全くの脇道です。
Followup-To: fj.net.words,fj.sci.lang.japanese

In article <87mzqtb...@taito.co.jp> noj...@taito.co.jp writes:
> うーん、せっかく情報頂いて申し訳ないのですが、残念ながら、現在は上の
>ホームページにあるダウンロード先の
> ftp://ftp.gmd.de/gmd/I5.RS/SRPC110.ZIP
> http://set.gmd.de/~mfg/SRPC110.ZIP
>がリンク切れの模様。残念です。

「ダウンロード先」?
それは手元のパソコン等でしょう^_^;

「リンク先」であってかつ「ダウンロード元」であるURLのことを
ゴッチャにして「ダウンロード先」と言ってしまったんだと思いますが、
考えてみれば、結構「普及」してそうな表現ではあります。
どうなんでしょうね。

戸田 孝@滋賀県立琵琶湖博物館
to...@lbm.go.jp

takahide nojima

unread,
May 18, 2005, 9:02:41 PM5/18/05
to
nojimaです。

情報ありがとうございました。

y...@is.tsukuba.ac.jp (Yasushi Shinjo) writes:

> あ、わかりにくかったですね。上の HTML があるディレクトリは、
> そのリンクの先を展開したものです。そこにCのソースがあります。
> 一発で持っていくなら、次のファイルがいいでしょう。
>
> http://lost-contact.mit.edu/afs/net/project/afs32/su.se/src/win32/nisgina-1.0.2.0.tar.gz
>
> 私の手元にあるのは、zip だけれど。
>
> 展開すると、src/rpc110 というディレクトリができて、そこに
> MAKE.BAT があります。それで、SunRPC の部分のライブラリは完結
> しています。NISGINA は使わなくてもいいです。

ええ発見しました。うおおおっ、すばらしーっ、これでONC-RPCがWinでも使えるかも~

感動です。ありがとうございました。

Win*のNISクローンからONC-RPCを引くのは気がつきませんでした。感謝感激です。

takahide nojima

unread,
May 18, 2005, 9:18:44 PM5/18/05
to
nojimaです。

様々な方よりアイデアを頂き、問題解決できそうです。

以下にサマリを挙げます。情報頂いた方には大変感謝致します。

ありがとうございました。

-------------サマリここから----------

[Q] Windows XP用途に提供されたライブラリ(*1)をUNIXマシンから


利用するような場合、最も良い方法はありますでしょうか?
ヒントでも結構です。
なお、

1. (*1)のライブラリは.NET開発環境用途のバイナリ提供なので中身は
不明です。
ライブラリに含まれる関数の使い方はマニュアルで提供されています。

2. オープンソースな物を利用して簡単なプログラム程度で利用可能だと嬉しい
です。

3. 出来ればWindows側で作成するプログラムは最小限にしたいです。

[A] 以下の実装案があります。

[1] RMI+JNIを利用

+-Windows box -------+ +--Unix box -----+
|Library<->JNI<->Java|<-RMI->|Java/Perl/etc...|
+--------------------+ +----------------+

RMIはJavaの解説書に頼るとして、JNIの話は以下の通り。
http://www.hellohiro.com/native.htm

[2] CORBAを利用

+-Windows box -------+ +--Unix box -------------+
|Library<->CORBA |<-IIOP-> |CORBA<->Java/Perl/etc...|
+--------------------+ +------------------------+

Windowsで利用可能なOSSなCORBA実装は次の通り。
http://www.02.246.ne.jp/~torutk/cxx/corba/

[3] SOAPを利用

+-Windows box -----------+ +--Unix box -----+
|Library<-XS->Perl..etc..|<-SOAP-> |Java/Perl/etc...|
+------------------------+ +----------------+

#Win環境で本当に出来るかは未評価

[4] SunRPC

+-Windows box -----------+ +--Unix box -----+
|Library<->SunRPC |<-SunRPC-> |Java/Perl/etc...|
+------------------------+ +----------------+

WinのSunRPCのホームページはここ
http://lost-contact.mit.edu/afs/net/project/afs32/su.se/src/win32/nisgina-1.0.2.0/src/rpc110/ONCRPC.HTM

SunRPCのソースの置き場は次の通り:
http://lost-contact.mit.edu/afs/net/project/afs32/su.se/src/win32/nisgina-1.0.2.0.tar.gz
このアーカイブの中のnisgina-1.0.2.0/src/rpc110/以下がONC-RPCのWin版

なお、ONCRPCのチュートリは次の通り:

http://www.cs.wpi.edu/~cs4513/b01/week4-sunrpc/week4-sunrpc.html

-------------サマリここまで----------

MOCHIDA Shuji

unread,
May 19, 2005, 4:23:04 AM5/19/05
to

持田@NETside です。

>> CORBA+X環境だと、GNOMEでしょうか??
>> # なんでGNOMEのデスクトップ環境設計時においてCORBAが採用されたかの
>> #動機を自分も興味ありますので、今度調べてみようかなとは思ってます。
>
> たしかに。私も気になります。「オブジェクト指向」入っていると
> いうことで、採用したのかも。

X みたいに、1 端末中(xdm の「セッション」とか)に複数の
リモートプロセスが混在していると、その間の連携の実現ということでは
CORBA は自然な解なんじゃないでしょうか。
Sun も元々 CORBA を ONC-RPC の後継と位置付けていたと思います。
Spring でも使ってました。でもやめちゃったのは、やっぱ実装が重く
なるんですかね?

--
持田 修司 NETside Technologies Inc.
-- Equal Opportunity for All Good Architectures, NetBSD. --

0 new messages