www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Why are const strings used in templates for compile time found in exe

reply "js.mdnq" <js_adddot+mdng gmail.com> writes:
The following code

http://dpaste.dzfl.pl/64025e0a

when compiled, has all the static and const char[] strings used 
only for compile time inside the executable.

How to prevent this?

specifically I'm talking about

static const char[] __ClassNameFix = "_A!("; static const char[] 
__NestLevelFix = "_NestLevel";

and all the mixin strings from the templates. They all show up in 
the executable but are only used for static compilation.

(release build with no debug info)
Dec 15 2012
parent reply "anonymous" <anonymous example.com> writes:
On Saturday, 15 December 2012 at 13:08:01 UTC, js.mdnq wrote:
 The following code

 http://dpaste.dzfl.pl/64025e0a

 when compiled, has all the static and const char[] strings used 
 only for compile time inside the executable.

 How to prevent this?

 specifically I'm talking about

 static const char[] __ClassNameFix = "_A!("; static const 
 char[] __NestLevelFix = "_NestLevel";

 and all the mixin strings from the templates. They all show up 
 in the executable but are only used for static compilation.

 (release build with no debug info)
enum string __ClassNameFix = "_A!(";
Dec 15 2012
parent "js.mdnq" <js_adddot+mdng gmail.com> writes:
On Saturday, 15 December 2012 at 13:16:17 UTC, anonymous wrote:
 On Saturday, 15 December 2012 at 13:08:01 UTC, js.mdnq wrote:
 The following code

 http://dpaste.dzfl.pl/64025e0a

 when compiled, has all the static and const char[] strings 
 used only for compile time inside the executable.

 How to prevent this?

 specifically I'm talking about

 static const char[] __ClassNameFix = "_A!("; static const 
 char[] __NestLevelFix = "_NestLevel";

 and all the mixin strings from the templates. They all show up 
 in the executable but are only used for static compilation.

 (release build with no debug info)
enum string __ClassNameFix = "_A!(";
That works when marking the template static! Thanks.
Dec 15 2012