From: Christopher Croughton Message-Id: <97Nov25.163503gmt+0100.17026@internet01.amc.de> Subject: Re: Excessive exe sizes To: eliz AT is DOT elta DOT co DOT il (Eli Zaretskii) Date: Tue, 25 Nov 1997 16:33:05 +0100 Cc: crough45 AT amc DOT de, djgpp AT delorie DOT com In-Reply-To: from "Eli Zaretskii" at Nov 25, 97 04:12:56 pm Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk Eli Zaretskii wrote: > > That's exactly what happens--in C programs. In C++, there's a potential > problem with such declarations (see section 8.14 of the FAQ) which GCC > resolves by including the array in the executable (there's a switch to > disable this behavior). I get it (having reread that section, and the equivalent bit of the GCC documentation, several times). This is because it would somehow merge duplicate definitions, yes? So if you said "int x; int x;" it would merge tham and then generate code to destroy 'x' twice? Sounds like a bug in GCC to me, not a (mis)feature; does any other C++ compiler have this problem? In the meantime, it sounds as though compressing the executable is the answer. Or are there problems with that as well? Chris C