Just where has this language gone wrong?

Marco Leise Marco.Leise at gmx.de
Sat Jul 21 02:39:22 PDT 2012


Am Fri, 20 Jul 2012 16:43:18 +0200
schrieb Jacob Carlborg <doob at me.com>:

> On 2012-07-20 16:33, Marco Leise wrote:
> 
> > I think C++ uses a pragmatic approach: No overhead for explicit initialization. But everything that goes into the executable and doesn't have a specific value, will go into the BSS section, where it A) takes up no space and B) the OS will take care of zero initializing it _anyways_.
> >
> > If it is stored in the .exe, it is 0!
> 
> Is it defined what is placed in the executable?

P.S.: s/section/segment/

Someone else would have to answer that question. I assume anything that is kind of static, like globals, class variables, D's .init blocks. It makes sense to me, because the compiler can issue static references to that data, instead of generating code that creates space for it e.g. on the heap and have the program use a pointer to get at it.

-- 
Marco



More information about the Digitalmars-d mailing list