2011年10月1期プログラマーガベージコレクション(GC)は良いものだ
TOP カテ一覧 スレ一覧 削除依頼 ▼
・ 次のスレ
テスターばっかりやってる人って将来何になるの
被告人をWORDでER図を書く刑に処す
もう少し勉強してください
【FA関連】制御系PGの呟き【PLC等】その2
ガベージコレクション(GC)は良いものだ
- 1 :10/12/25 〜 最終レス :11/01/25
- 手動でメモリ管理しなくていいのは最高だね!
- 2 :
- プログラムも勝手につくってくれたら完璧なのにね!
- 3 :
- 「ぬるぽ」がアレの略であるように
「ガッ」とはガベージコレクションの略
- 4 :
- がべこ
- 5 :
- ポインタがぬるぽなのであれば、
そのポインタがヌルを代入される前に指していたオブジェクトは回収されているわけだから、
ガッ、なんだな。
- 6 :
- スタティックぬるぽで回避出来るのか
- 7 :
- 楽をするためのガベコレを働かせるためにNULLを代入して回らなきゃならないなんて本末転倒だな。
- 8 :
- おまえはグローバル変数だけで生きとるのかw
- 9 :
- ガベージコレクションの始祖はLisp?
- 10 :
- ガベコレ搭載で、なおかつ任意のタイミングで自分で解放処理できる言語ってないのかな
- 11 :
- D...いや、何でもない。
- 12 :
- ガベコレだけの本が出てたな。買ったけど、目次だけ読んで積ん読状態w
- 13 :
- キタコレ
- 14 :
- そろそろGCハード化しろや。
- 15 :
- >>14
ほらよ
http://www.nintendo.co.jp/ngc/index.html
- 16 :
- age
- 17 :
- なぁ、使ったことない俺に教えてくれ。そもそも自分で管理するのがめんどいから
GC使うんか?
それとも何らかの理由でしようがなく使うんか?
- 18 :
- 自分でGCを管理する!
- 19 :
-
>>17
自分は下記のような段階を踏んでGCを導入した
1.小規模ならRAIIやプールで十分だったが、プログラムが複雑になるにつれて
共有参照をうまく扱えない、あるいは寿命管理に神業が必要な状況になってくる。
2.参照カウントを導入して共有参照の寿命問題はある程度解決した。
しかしプログラムがもっと複雑になるとすぐに循環参照が発生するし、
そもそもいちいち参照を解放するのがうざいし、
解放忘れのバグとかタチが悪すぎる。
3.mark&sweepを導入して参照カウントと併用する。
newしっぱなしスタイルのプログラミングができて生産効率が上がる。
CやC++で単純なconservertive GCを何度か書いたけど、
速度を気にしないならGCエンジンの作成は1日かからない。
50行くらいで書ける。
- 20 :
- メモリ管理は、コンストラクタ、デストラクタでやればいいじゃん?
んで、add関係の関数作って、前後のクラスや変数の
ポインタを管理して、
どっかで消したければ、前後のポインタのアドレスをお互いに交換して自身を
消すdelete関係の関数を作れば出来上がりでしょ?
>>19
50行くらいで書ける。真にその通り。でもnewしっぱなしスタイルっていうか、
自前で作る関数やクラスはnew とdelete を気にしない為に作ったんじゃないの?
出来るだけ自作するのなら自作メモリ管理関数、そして組込み系で使う場合でも
用途次第では自作。
GCは便利だから使えばいいし、その作りを理解することは自作のメモリ管理関数やクラスでも
役には絶対に立つね。
- 21 :11/01/25
- >>20
>メモリ管理は、コンストラクタ、デストラクタでやればいいじゃん?
>add関係の関数作って、前後のクラスや変数の
>ポインタを管理して、
>どっかで消したければ、前後のポインタのアドレスをお互いに交換して自身を
>消すdelete関係の関数を作れば出来上がりでしょ?
日本語がアレなのでエスパーで補って読んだんだが
コンストラクタで自分を連結リストに登録して管理するってこと?
だとしたらメリットがよくわからん
>でもnewしっぱなしスタイルっていうか、
>自前で作る関数やクラスはnew とdelete を気にしない為に作ったんじゃないの?
ごめん。何を聞かれてるのか理解できなかった
TOP カテ一覧 スレ一覧 削除依頼 ▲
・ 次のスレ
テスターばっかりやってる人って将来何になるの
被告人をWORDでER図を書く刑に処す
もう少し勉強してください
【FA関連】制御系PGの呟き【PLC等】その2