Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 如何使用预先分配的malloc';ed存储_Macos_Cocoa - Fatal编程技术网

Macos 如何使用预先分配的malloc';ed存储

Macos 如何使用预先分配的malloc';ed存储,macos,cocoa,Macos,Cocoa,对于NSTextStorage对象,我想将其设置为具有来自第三方库的malloc'ed存储。(存储器的特殊之处在于它是不可交换且不可复制的。)我能发现的唯一可行的方法可能是allocWithZone,但它被指定为不再使用。 有办法做到这一点吗 NSTextStorage被记录为子类。只要您实现了所需的原语(在中列出),您就可以自由地以任何方式实现备份存储。NSTextStorage被记录为子类。只要实现了所需的原语(在中列出),您就可以自由地以任何方式实现备份存储。我不知道这一点。为什么需要这个

对于NSTextStorage对象,我想将其设置为具有来自第三方库的malloc'ed存储。(存储器的特殊之处在于它是不可交换且不可复制的。)我能发现的唯一可行的方法可能是allocWithZone,但它被指定为不再使用。
有办法做到这一点吗

NSTextStorage
被记录为子类。只要您实现了所需的原语(在中列出),您就可以自由地以任何方式实现备份存储。

NSTextStorage
被记录为子类。只要实现了所需的原语(在中列出),您就可以自由地以任何方式实现备份存储。

我不知道这一点。为什么需要这个?存储中的信息是安全的,并且在不可交换区域的内存中只能有一个副本。我不知道这一点。为什么需要这个?存储中的信息是安全的,并且在不可交换区域的内存中只能有一个副本。这一点很好。当然,我认为不能保证AppKit不会在内存中创建存储数据的另一个副本(在某种程度上,它几乎肯定会用于渲染目的)。这看起来是可能的。假设备份存储可以指向UTF-8的存储块,这应该可以工作。谢谢就@jtbandes而言,如果您使用
[NSString bytesnopy:length:encoding:][/code>创建字符串,则很有可能(但不能保证)以后不会复制该字符串。没有太多理由这么做,AppKit会尽量避免任何不必要的拷贝。但是,几乎可以肯定的是,在渲染过程中,核心文本中会生成对相同信息进行编码的glyph。如果您试图避免写入磁盘,也不要忘记休眠,它甚至会将锁定的内存写入
/var/vm/sleepimage
。这一点很好。当然,我认为不能保证AppKit不会在内存中创建存储数据的另一个副本(在某种程度上,它几乎肯定会用于渲染目的)。这看起来是可能的。假设备份存储可以指向UTF-8的存储块,这应该可以工作。谢谢就@jtbandes而言,如果您使用
[NSString bytesnopy:length:encoding:][/code>创建字符串,则很有可能(但不能保证)以后不会复制该字符串。没有太多理由这么做,AppKit会尽量避免任何不必要的拷贝。但是,几乎可以肯定的是,在渲染过程中,核心文本中会生成对相同信息进行编码的glyph。如果您试图避免写入磁盘,也不要忘记休眠,它甚至会将锁定的内存写入
/var/vm/sleepimage