On Jul 4, 2016, at 7:37 PM, Quincey Morris <quinceymor...@rivergatesoftware.com> wrote: > > I think the only way the allocator will know if the requested memory is > available to this app is to try writing to it. I dunno what the C language > experts think, but this suggests to me that you could try using calloc > instead for exactly that reason. It’d be a lot slower for large memory > blocks, but if it returns nil on failure to write then that should be what > you want to know.
Actually, this is false — see the link I just sent to Dmitry: https://developer.apple.com/library/prerelease/content/documentation/Performance/Conceptual/ManagingMemory/Articles/MemoryAlloc.html#//apple_ref/doc/uid/20001881-98355 a large calloc() is preferred because it simply allocates uninitialized address space which is zeroed by the VM system automatically when accessed. But (and this answer may answer Dmitry’s question) calloc/malloc only allocates the address space — the actually failure may not occur until you run out of swap space. I think there may be more information in the guidelines, but don’t have time to re-read the full document at the moment. Dmitry, you should. HTH, -Steve
_______________________________________________ Do not post admin requests to the list. They will be ignored. Xcode-users mailing list (Xcode-users@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/xcode-users/archive%40mail-archive.com This email sent to arch...@mail-archive.com