Am 21.10.2013 15:04, schrieb Manu:
On 21 October 2013 21:24, Denis Shelomovskij <[email protected]>wrote:
21.10.2013 14:30, Manu пОÑеÑ:
System interface functions that pass zero-terminated strings through to
the OS are the primary offender, needless garbage, those should be on
the stack.
I like to use alloca too where it's appropriate. I'd definitely like if
D had a variable-sized static array syntax for pretty-ing alloca.
I thought about something similar using alloca via a mixin template, but
that feels really hackey!
No hacks needed. See `unstd.c.string` module from previous post:
http://forum.dlang.org/thread/**lqdktyndevxfcewgthcj@forum.**
dlang.org?page=2#post-l42evp:**241ok7:241:40digitalmars.com<http://forum.dlang.org/thread/[email protected]?page=2#post-l42evp:241ok7:241:40digitalmars.com>
Super awesome! Phobos devs should be encouraged to use these in
non-recursive functions (particularly OS pass-through's).
looks like Walters solution - but cleaner
"...Implementation note:
For small strings tempCString will use stack allocated buffer, for
large strings (approximately 1000 characters and more) it will allocate
temporary one from unstd.memory.allocation.threadHeap..."
does that mean that tempCString reserves minimum 1000 bytes on stack
else using heap?
if so i would prefer a template based version where i can put in the size