RE: RES: [Dev-C++] generated .exe is too big
Open Source C & C++ IDE for Windows
Brought to you by:
claplace
|
From: Per W. <pw...@ia...> - 2003-04-24 03:12:35
|
_Bool does not increase size of final executable. _Complex and (possibly) long long increases the size of the executable - but only for executables that needs them, and then it can hardly count. An opengl executable is larger than a hello world, but that isn't a deficiency of opengl but just that the opengl application solves a harder problem. Without the _Complex data type, you have to implement - or link through an existing library - your own complex math. And by doing that, the application has to be larger or the application wouldn't work. If you don't use _Complex but decides on defining an own data type and then implement complex_add(), complex_mul(), ... the application will not make any references to the _Complex helper functions and won't link in them. No extra size of the executable added, at least for non-debug where the compiler haven't thrown in a lot of data declarations seen in header files etc just for good measure. The only complaint I think I have about _Complex - too long time ago I looked at the specification - was that some of the NaN/Infinity handling didn't felt mathematically sound. But that is a completely different issue. /Per W On Thu, 24 Apr 2003, Ioannis Vranos wrote: > > -----Original Message----- > > From: Per Westermark [mailto:pw...@ia...] > > Sent: Thursday, April 24, 2003 5:26 AM > > To: Ioannis Vranos > > Cc: Dev-C++ Mailing List > > Subject: RE: RES: [Dev-C++] generated .exe is too big > > > > > > The changes for C99 should not make a real difference in quality of > > mapping against hardware. > > > > [...] > > > > _Complex operators needs either multiple assembler > > instructions or calls > > to helper functions, to handle all combinations of NaN and > > infinities. No > > difference from support of float and double on a processor without fp > > support. Linker wouldn't add these helper functions unless needed. > > > Yes but there are processors with fp support. However there isn't any with > complex support. > > > > > It isn't possible to add _Bool and _Complex as just typedef, > > since it's a > > question of giving the language the correct operators too. In C++ with > > operator overloading we can add a _Complex type on our own, > > but in C it > > has to be made as a hard-coded data type. > > > > I mean they could avoid polluting the namespace. And what about size_t? In > C99 it can be some type other than the provided standard built in ones, and > yet is provided through header file only. > > In any case, these things do increase the size of the final executable. > > > Ioannis Vranos > > * Programming pages: http://www.noicys.freeurl.com > * Alternative URL 1: http://run.to/noicys > * Alternative URL 2: http://www.noicys.cjb.net > > > Anti-racism movement: http://www.positive-youthfoundation.org > Iraq Peace Pledge: http://www.peacepledge.org > > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Dev-cpp-users mailing list > Dev...@li... > TO UNSUBSCRIBE: http://www.noicys.cjb.net/devcpp/ub.htm > https://lists.sourceforge.net/lists/listinfo/dev-cpp-users > |