5 ms·
What are you referring to? sbrk? mmap? I typically use either the heap or the stack myself.
by stochastic_monk 9y ago
What are you referring to? sbrk? mmap? I typically use either the heap or the stack myself.
- timClicks 9y agoStatic memory is at the bottom of the address space, below the heap. But that would really only be relevant in the case of string literals unless I'm mistaken.
- unwind 9y agoYou can have a static buffer: static char buf[128]; and use strcpy() at any point to copy into it, so I don't think statically allocated strings must be literals.
- stochastic_monk 9y agoThere is a distinction between const and non-const static memory, though, in that the former can be stored in Read-Only Memory. Still, static memory is generally used for many fewer purposes than the stack or the heap, and if I understand correctly, sbrk is still working with the heap, just more manually.
- timClicks 9y agoThat's right. Allocators use the sbrk and mmap to manage the heap. IIRC high performance allocators tend to use mmap exclusively.
- MarceColl 9y agoSomething like memory pools or manual memory management. Yes the memory pool will come from the heap or stack but the heap/stack allocator will have no idea what is going on in there.