タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

rubycocoaに関するwalf443のブックマーク (2)

  • RubyCocoa の dangling pointer 問題を直した - Psychs's blog

    LimeChat for OSX には、かなり低い確率で解放済みのメモリにアクセスしてしまう問題があって、ずっと原因がわからずに困っていた。 今日、たまたま RHG を読み直していたら、あっ、これだっ!!!という項目を見つけた。 http://i.loveruby.net/ja/rhg/book/gc.html GC対策のvolatile スタック上のVALUEはGCが面倒を見てくれると書いた。 それならば ローカル変数としてVALUEを置いておけば そのVALUEは確実にマークされるはずである。 しかし現実には最適化の影響で変数が消えてしまうことがある。 例えば次のような場合は消える可能性がある。 VALUE str; str = rb_str_new2("..."); printf("%s\n", RSTRING(str)->ptr); このコードではstr自体にアクセスしていないので

    RubyCocoa の dangling pointer 問題を直した - Psychs's blog
  • RubyCocoa 入門

    RubyCocoa とは? RubyCocoa は、Mac OS X アプリケーションを開発するためのフレームワークです。 RubyCocoa によって、 OS X アプリケーションを作ること Ruby から拡張ライブラリとして Cocoa を利用すること ができるようになります。 RubyCocoa のインストール Tiger の場合、以下の URL から最新版の dmg をダウンロードして、インストールしてください。 http://sourceforge.net/project/showfiles.php?group_id=44114 Leopard では、RubyCocoa は OS に標準添付されているので、インストールの必要はありません。 はじめての Mac OS X アプリケーション では、さっそくアプリケーションを作ってみましょう。 まず、Xcode を立ち上げます。(/De

  • 1