More on C++ stack arrays
Lionello Lunesu
lionello at lunesu.remove.com
Tue Oct 22 14:05:36 PDT 2013
On 10/21/13 15:04, Manu wrote:
> On 21 October 2013 21:24, Denis Shelomovskij
> <verylonglogin.reg at gmail.com <mailto:verylonglogin.reg at gmail.com>> 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/lqdktyndevxfcewgthcj@forum.dlang.org?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).
Careful! Alloca doesn't get cleaned up when used in loops!
foreach(t; 0..1000) { int[t] stack_overflow; }
More information about the Digitalmars-d
mailing list