[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 08/05 11:17 / Filesize : 219 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

D言語 Part15



132 名前:120 mailto:sage [2007/10/11(木) 10:47:31 ]
>>130
おおう、対応どもです。しかしせっかく真摯に対応していただいて申し訳ないのですが、
私の言いたいことは翻訳の仕方に関してでは無く、書いてある内容そのものなのデス。
多分原文でも言ってることは同じで、翻訳には問題なかったんじゃないでしょか。
というわけで、改めて>>120の疑問を書き直してみたり。


「Dでnewした領域のポインタをC++に渡してやってもいいけど、
 途中でGCが走ってその領域がcollectされちゃうと、
 いきなりポインタが無効になってC++側が困るよね。
 だから以下ほげほげな方法で、GCのcollect対象にならないよう気をつけてね」
ってヲルターは言ってるけど、ポインタが無効になる要因ってcollectだけじゃないよね?

www.kmonos.net/alang/d/garbage.html によれば、
> 4. 残ったメモリ領域のデータをコピーして使用領域をまとめる処理 (コピーGCと呼ばれます) が実行される可能性があります。
> ガベージコレクタは、オブジェクトをメモリ上の任意の位置に再配置することがあり...
つまりcollect対象でない「生きた」領域を指すポインタだって、GCが走れば再配置によって無効になる可能性がある。
本当は「生かす」だけじゃなく、そのメモリ位置に「固定」する方法が必要なんじゃないか?


……って、アレ? このへん「Cとのインターフェイス」に書いてあることと同じじゃないすか。今気付いた。
今まで問題になったことなかったっけ? 再配置なんて実際には滅多に起こらないとか?






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<219KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef