NSTextStorageオブジェクトの場合、サードパーティのライブラリからmalloc'edストレージを取得するように設定したいと考えています。 (ストレージは、スワップ不可能でコピーできないという点で特別です。)これを行う可能性のある唯一の方法はallocWithZoneかもしれませんが、これはもはや使用されないように指定されています。 これを行う方法はありますか?あらかじめ割り当てられたmalloc'edストレージを使ってNSTextStorageを割り当てる方法
答えて
NSTextStorage
はサブクラスとして文書化されています。必要なプリミティブ(Subclassing Notesに記載されています)を実装する限り、任意の方法でバッキングストレージを実装することができます。
良い点。もちろん、私は、AppKitがメモリに格納されたデータの別のコピーを作成しないという保証はないと思います(レンダリングの目的で、ある程度は確かにそうなります)。 – jtbandes
これは可能です。バッキングストアがUTF-8のストレージブロックを指すことができると仮定すると、これはうまくいくはずです。ありがとう! – alangh
@ jtbandesのところでは、 '[NSString bytesNoCopy:length:encoding:]'で文字列を作成すると、後でコピーされないという確かなチャンスがありますが、保証はありません。理由はあまりありません.AppKitは不要なコピーを避けるように試みます。しかし、同じ情報をエンコードするレンダリング中に、Core Textにグリフ生成がほぼ確実に発生します。ディスクへの書き込みを避けたいのであれば、ロックされたメモリも '/ var/vm/sleepimage'に書き込むハイバネーションを忘れないでください。 –
- 1. 割り当てられたアドレスで構造をインスタンス化する(割り当て割り当て)
- 2. あらかじめ割り当てられたメモリバッファを持つXGetImage
- 3. sparkアプリケーション用に割り当てられたリソース(割り当てられたメモリ)の計算方法は?
- 4. 動的に割り当てられた構造体を再割り当て
- 5. 割り当てられたオブジェクトの再割り当ての問題
- 6. Rails + Sunspot:アソシエーションが割り当てられていないレコードをフィルタリングするための「未割り当て」ファセット
- 7. ヒープに割り当てられたオブジェクト
- 8. 割り当てられたポインタのStrlen()
- 9. ハイバーネーションアノテーションに割り当てられたジェネレータクラス
- 10. 割り当てられたIPアドレス
- 11. 割り当てられたメモリのビュー
- 12. ランダムに割り当てられたボタン
- 13. java.lang.OutOfMemoryError:OOMまで割り当てを割り当てられません
- 14. ... nullで、割り当てられていませんが、割り当てられているようですか?
- 15. mxGetData()によって割り当てられたメモリを解放する方法
- 16. 割り当てられた配列値にアクセスするために番号を割り当てる方法はありますか?
- 17. スタックに割り当てられたストレージを使用するstd準拠のstringstream?
- 18. DOM要素にスタイルを割り当てるためのデストラクションの割り当て
- 19. 割り当てられていない場合、intとcharの固定割り当てはありますか?
- 20. javascriptのあらかじめ割り当てられた引数でコールバックを渡す簡単な方法は?
- 21. コードを使ってTransformを割り当てる方法
- 22. 割り当てられた/割り当てられていない文字列の命名規則
- 23. 割り当てられたオブジェクトのヒープには、メンバーがスタックに割り当てられますか?
- 24. OpenTK - キューマップ配列にストレージを割り当てる方法は?
- 25. cudaMallocを使用して割り当てられたメモリは `?? ?? ?
- 26. 作業項目を「未割り当て」に割り当てる方法は?
- 27. 割り当て
- 28. 割り当て
- 29. 割り当て
- 30. 割り当て
私が知っているわけではありません。なぜこれが必要ですか? – jtbandes
ストレージ内の情報は安全であり、スワップ不可能な領域内のメモリにはそのコピーが1つだけ存在します。 – alangh