タグ

ブックマーク / www.nslabs.jp (1)

  • Objective-Cのメモリ管理 | Netsphere Laboratories

    (2009.1.28 新規作成) Objective-C は、ガベージコレクションがない時代のプログラミング言語です。プログラマがきちんとオブジェクトを解放するように書かなければなりません。 実装として、id 型は objc_objectへのポインタ型です。すべてのオブジェクトはmallocで確保されるイメージで、これはブロック内のローカル変数(のオブジェクト)を自動的に解放してくれるCより悪い状況です。 Objective-Cでは、自動解放プールと、ルールによるオブジェクトの解放で対処します。 gccにはライブラリが何も付いていないので、以降はGNUstepを前提とします。Fedora 10 Linux + gcc 4.3 で確認しました。 NSAutoreleasePool オブジェクトを生成したら自動解放プールに登録するようにします。自動解放プールが解放されるときに登録されたオブジェ

  • 1