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 02:27:06
|
The changes for C99 should not make a real difference in quality of mapping against hardware. _Bool should map perfectly - no difference than the bool type in C++. long long might be either multiple assembler instructions or calls to helper functions, but no difference from the normal long type on a 8 or 16-bit processor. The linker need not add these extra helper functions unless they are called in the compiler-emitted object files. _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. 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. /Per W On Thu, 24 Apr 2003, Ioannis Vranos wrote: > > -----Original Message----- > > From: dev...@li... > > [mailto:dev...@li...] On Behalf > > Of Louis Godio > > Sent: Wednesday, April 23, 2003 6:17 PM > > To: David Matthews; dev...@li... > > Subject: Re: RES: [Dev-C++] generated .exe is too big > > > > > > David and List, > > It seems unbelievable that the same code compiled with gcc 2.95 > > generates a 5kb exe file, compared to 35kb when compiled under > > gcc3.2. A 100% increase would be bad enough; but this is a 700% > > increase ?? > > > > Can other DevC++ users comment on this ? > > My assumption is the new C99 built in types and library facilities are what > caused that increase (the default is C99 now!). That implies that you get > the built in _Bool with values 0 or 1, built in _Complex type, long long, > etc. C no more maps directly in the machine (C++ still does). That is CPUs > do not have complex types. > > All these types with the _ can be used without _ in the normal way e.g. > complex y; by including the corresponding header file (e.g. #include > <complex.h>). > > > What I personally would have liked is that they could have made available > these "exotic" types (because they are not made using general purpose > facilities), as typedefs through the header files only. > > > Well, as Dennis Ritchie told, there will not be any new K&R. > > > C++98 provides specialised facilities made using general purpose facilities. > > > Some references: > > http://www.itworld.com/AppDev/710/lw-02-stroustrup/page_1.html > > http://www.itworld.com/Comp/3380/lw-12-ritchie/page_1.html > > > Check what they say about C99. > > > > 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 > |