タグ

ガベージコレクションに関するfjwr38のブックマーク (5)

  • iOS 開発で、EXC_BAD_ACCESS とさよならするための6つのルール – Zero4Racer PRO Developer's Blog

    2012/3/22 いくつか修正、加筆しました。 追記もご覧下さい:iOS 開発で、EXC_BAD_ACCESS とさよならするための6つのルール [追記] カプセル化について « Zero4Racer PRO Developer’s Blog 対象がiOS4以上の場合は、ARCを使用するのもオススメです。iOS 5 公開記念! Objective-Cのメモリ管理の革命、 ARC 超入門(サンプルはgitHubに公開) « Zero4Racer PRO Developer’s Blog をご覧下さい。 @Awaresoft さんのこの記事が、ほとんどすべての疑問に答えています。とてもよい記事なので合わせてご覧下さい。プロパティに対応するインスタンス変数の命名規則について – Awaresoft iOS プログラミングでのメモリ管理の基 iPhone開発で主に使用される言語は、Object

  • 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 オブジェクトを生成したら自動解放プールに登録するようにします。自動解放プールが解放されるときに登録されたオブジェ

  • viva Cocoa / Objective-C 入門

    Objective-Cの学習においてメモリ管理はひとつの壁であると言えます。そこでその対応策としてAppleはObjective-C 2.0においてガベージコレクションと呼ばれる「メモリ管理をプログラマが一切しなくて良い機能」を搭載しました。しかし残念なことにiPhoneアプリケーション開発用のObjective-Cではまだガベージコレクションが使えません。これはガベージコレクションがCPUのパワーをある程度必要とするからで携帯電話に搭載されているCPUには少し荷が重たいからです。しかし今後iPhone用アプリケーションの開発を考えておられる方は多いと思います。そこで書では第12章までは基的にガベージコレクションを使わずにiPhoneアプリケーション開発にも使える従来のメモリ管理方法のリファレンスカウンタ方式を使って学習を進めていきたいと思います。 なおリファレンスカウンタ方式からガベ

  • Objective-Cでガベージコレクション | Netsphere Laboratories

    (2008.9.14) ページを分割し、最新の版に更新。 Mac OS XのObjective-Cは、Leopard (Mac OS X 10.5) からガベージコレクションが有効になりました。しかし、Linuxのgccでは今のところ (gcc 4.3.0), 標準ではガベージコレクションが使用されないようです。 ここでは、Linuxのgccでガベージコレクションを使う方法を紹介します。 準備 ガベージコレクションのライブラリは、Boehm GCがメジャーです。 A garbage collector for C and C++ 2008.9現在の最新版はバージョン7.1 (2008.5リリース) です。 自分でコンパイルしてもいいですが、Fedora 9 Linux にはバージョン7.0がパッケージ化されていますので、今回はこれを使ってみます。yumコマンドでインストールします。 # y

  • メモリ管理を理解する(前編)

    メモリ管理を理解する(前編):Cocoaの素、Objective-Cを知ろう(7)(1/2 ページ) iPhone用アプリケーション開発で注目を集める言語「Objective-C」。C++とは異なるC言語の拡張を目指したこの言語の基を理解しよう(編集部) あらゆるアプリケーションは、システムのメモリ上に展開されて動作します。 メモリは限られた資源なので、アプリケーションは資源を無駄に消費しないよう自己管理しながら動作する必要があります。この動作を実現するのが、開発者によるメモリ管理の実装です。 新しく登場した言語のなかにはメモリ管理が自動で行われる(言語のエンジン部分で暗黙的にメモリ管理がされている)ものが多いため、開発者がメモリ管理を意識することが少なくなっています。 実際、Objective-Cでも、Objective-C 2.0から(Mac OS X 10.5 から)はガベージコレ

    メモリ管理を理解する(前編)
  • 1