でちまるさん(実際かわいい) @decimalbloat コンパクションをC++でやるには色々障害がある(GCがオブジェクトをコピーする方法を知っていないといけない、オブジェクトがコピーされたとき、コピー前のアドレス全てをコピー後のアドレスへと書き換えないといけない)けど、GCのためのメモリ消費を抑えつつこれらのことができるのだろうか… 2010-08-04 13:36:31
![GC on C++](https://cdn-ak-scissors.b.st-hatena.com/image/square/15bf442ec6dd1569ac4c70b01d5c73309d1a4933/height=288;version=1;width=512/https%3A%2F%2Fs.togetter.com%2Fogp2%2Fdabf50eecfeacfe093da15de998793ce-1200x630.png)
2005.2.27新規作成。(2001.7.14, 2001.7.15 の日記に加筆。) (2020.1) 追記。 C/C++には、言語仕様としてのガベージコレクションの機能はない。動的に確保したメモリは、自分で、ただ一度だけ解放するようにプログラムを組まなければならない。解放を忘れるとメモリリークが発生し、解放しすぎるとプログラムがクラッシュすることもある。 ガベージコレクタを使うと、メモリを好きなだけ確保するだけでよく、解放は自動的にしてくれる。巨大なメモリを明示的に解放するような場合のほかは、メモリを解放するコードを書く必要はない。 The Boehm-Demers-Weiser conservative garbage collector (Boehm GC) は、C言語用のメジャーなガベージコレクタ。さまざまなソフトウェアがこのライブラリを使っている。しかし、Fedora Cor
なにそれ? 前提環境 準備 使ってみる。 もうちょっとちゃんと使ってみる。 速度差 速度差2 まとめ Wed, 18 Sep 2002 01:42:22 +0900、初稿。 Wed, 18 Sep 2002 02:55:41 +0900、改稿。ハヤッ。(Kent.Nさんのポカのご指摘に拠る。多謝) Wed, 16 Jul 2003 20:42:18 +0900、改稿。てつやさんによる。 注意:後半部、速度の比較をやっていますが、どうやら相当いいかげんです。本気でこの比較を知りたければご自分でテストを作成し、ご確認ください。特に、最適化のあたりとか。一番いいのは、現在既にあるアプリを変更してやってみることかなぁ。 なにそれ? Boehm GCを使おうを参照。 前提環境 Windows 2000 MS VS 6.0 sp5 Memory 256MB CPU PentiumIII 500Mhz
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く