[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:08740] Re: address 参照の解決について



 やまもとさんこんばんは。あべです。


	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>
    -----------------------------------

Index Home