[xyzzy:08740] Re: address 参照の解決について
- Subject: [xyzzy:08740] Re: address 参照の解決について
- From: ABE Hiroshi <hiro-abe@xxxxxxxxxxxxxxxxxx>
- X-mailer: KaMail-0.0.2.5[02/02/24] on xyzzy-0.2.2.233 (whistler)
- X-yzzy-version: 0.2.2.233
やまもとさんこんばんは。あべです。
2003年3月29日(土)[12:20:11]の、
[xyzzy:08734] Re: address 参照の解決について
への返事です。
> ちょうどリファレンスでmake-chunkのところに来たので調べてみました。
> 憶測以外の何者でもないですが、si:address-ofではなく、
> si:chunk-dataを使ってみたらどうでしょうか?
実はそこで困っていました。
si:address-of を使って
| (setf c1 (si:make-chunk '(void *) 128))
| (setf c2 (si:make-chunk '(void *) 128))
|
| (si:pack-string c1 0 "emacs")
| (si:pack-string c2 0 "xyzzy")
|
| (memmove (si:address-of c1) (si:address-of c2) 64))
|
| (si:unpack-string c1 0)
| => "xyzzy"
とできたので安心していたのです。ただ 64 の部分を 5~6 と小さくすると何故か
意図した通りに動作しないので不思議に思っていました。単に chunk そのものを
コピーしていたからですね。
ここで si:address-of の代わりに si:chunk-data を使うと 64 の部分を 6 に
してもちゃんと動作するようになりました。
ご指摘どうもありがとうございました。
-----------------------------------
阿部 洋志 <hiro-abe@xxxxxxxxxxxxxxxxxx>
-----------------------------------