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. 動的に割り当てられた構造体を再割り当て
- 4. 割り当てられたオブジェクトの再割り当ての問題
- 5. Rails + Sunspot:アソシエーションが割り当てられていないレコードをフィルタリングするための「未割り当て」ファセット
- 6. 割り当てられたメモリのビュー
- 7. ランダムに割り当てられたボタン
- 8. ヒープに割り当てられたオブジェクト
- 9. ハイバーネーションアノテーションに割り当てられたジェネレータクラス
- 10. 割り当てられたポインタのStrlen()
- 11. 割り当てられたIPアドレス
- 12. java.lang.OutOfMemoryError:OOMまで割り当てを割り当てられません
- 13. スタックに割り当てられたストレージを使用するstd準拠のstringstream?
- 14. mxGetData()によって割り当てられたメモリを解放する方法
- 15. 割り当てられた配列値にアクセスするために番号を割り当てる方法はありますか?
- 16. DOM要素にスタイルを割り当てるためのデストラクションの割り当て
- 17. コードを使ってTransformを割り当てる方法
- 18. 割り当てられた/割り当てられていない文字列の命名規則
- 19. 割り当てられたオブジェクトのヒープには、メンバーがスタックに割り当てられますか?
- 20. OpenTK - キューマップ配列にストレージを割り当てる方法は?
- 21. 作業項目を「未割り当て」に割り当てる方法は?
- 22. 割り当て
- 23. 割り当て
- 24. 割り当て
- 25. 割り当て
- 26. xmllistコピー割り当てまたは参照割り当て?
- 27. すでに割り当てられている変数にメモリを割り当てていますか?
- 28. mmapを使って割り当てられたメモリを解放するには?
- 29. 既に割り当てられていない限り、R変数にデフォルト値を割り当てますか?
- 30. C++で動的に割り当てられた配列メンバーからなる動的に割り当てられた構造体を削除する方法は?
私が知っているわけではありません。なぜこれが必要ですか? – jtbandes
ストレージ内の情報は安全であり、スワップ不可能な領域内のメモリにはそのコピーが1つだけ存在します。 – alangh