🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.lang.perl
Article #88

Re: XS と可変長引数

#88
From: Tadashi Matsumoto(松本 匡史)
Date: Thu, 19 Feb 1998 00:00
51 lines
3021 bytes
松本@日興システムセンターです。

fj.lang.perl,fj.lang.cにおいてJST時間1998/02/18(水)04時頃、
Tanaka Akiraさんが、題名"Re: XS と可変長引数"の記事で曰く
|
|実際に使ったことはありませんが, ffcall というライブラリがあるそうです。
|これを使うと可変長引数を任意に呼び出す, 任意の型を返す, クロージャをつ
|くる, ということが C でできるようになるようです。
|
(中略)
|
|ffcall is available via anonymous FTP from
|ma2s2.mathematik.uni-karlsruhe.de [129.13.115.2], in /pub/gnu.
|------------------------------------------------------------

情報ありがとうございます。
なかなか繋がらなかったんですが先程ようやく取得できました。(ffcall-1.3.tar.gz)
まだ少ししか見てませんが avcall を使うと引数リストを構築できる
ようですね。これから試してみます。

fj.lang.perl,fj.lang.cにおいてJST時間1998/02/18(水)13時頃、
Kaoru MAEDAさんが、題名"Re: XS と可変長引数"の記事で曰く
|
|経験的には、
|  Tib_Initialize(prop, a,b,c,d,e,f,g,h,i); /* 10個まで! */
|と書いておくのが一番「うまい」方法でしょう。引数が1個のとき、2個
|のとき……とたくさん並べる必要はありません。10個をあふれたかどう
|かはPerlのスタックから引数を取り出すときに検出できますね。
|
そうですね。引数は enum でその値の種類しかありえないので
(同じ物は2回出てこない筈なので)
上限を設定してしまうのが現実的対応のような気がします。

|Tibライブラリのソースに手が届くなら、可変長引数でないバージョン
|を作るべきです。
|
そうなんですが、よそから買っているものなので…。
厳しいところです。

|# 「新ようこそ」のXS回りはかなり古くなってると思います。最新版の
|# Perlを使うときはman perlxstut、perlxs、perlgutsをよく確認しま
|# しょう。今はMakefile.PLもh2xsが作ってくれるし。
|
これを読んで h2xs 使ってみましたが楽ですねぇ。
枠組を自動で作ってくれるので非常にありがたいです。

みなさんありがとうございました。

--
松本匡史@日興システムセンター tadashi@sso.nsc.nikko.co.jp
Technical Details
Message-ID: <6cg70l$9mt@melon.sso.nsc.nikko.co.jp>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <6cbfvn$nki@melon.sso.nsc.nikko.co.jp> <18534.887738647@rananim.ie.u-ryukyu.ac.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 1043e7,bd18d32ce1cb4e3c
X-Google-Attributes: gid1043e7,public
X-Google-Thread: 106434,bd18d32ce1cb4e3c
X-Google-Attributes: gid106434,public
From: tadashi@sso.nsc.nikko.co.jp (Tadashi Matsumoto(松本 匡史))
Subject: Re: XS と可変長引数
Date: 1998/02/19
Message-ID: <6cg70l$9mt@melon.sso.nsc.nikko.co.jp>
X-Deja-AN: 326444204
References: <6cbfvn$nki@melon.sso.nsc.nikko.co.jp> <18534.887738647@rananim.ie.u-ryukyu.ac.jp>
Mime-Version: 1.0
Distribution: world
Content-Type: text/plain; charset=ISO-2022-JP
Organization: The Nikko System Center Ltd. Japan
Newsgroups: fj.lang.perl,fj.lang.c