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:33:14
|
Forgot a comment. See below /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. > General purpose processors have a bit of lack of this support, but a number of DSP processors do have built-in data types for complex numbers since they are used in FFT evaluations etc. In this case, the _Complex data type makes C code more portable. Previous implementations has had to add non-standard additions for handling this data type. In the same way, a number of processors have 1-bit variables. When programming the 8051 processor, one compiler I have been using have added the extra keyword bit just to allow the use of these variables. Now it gets defined in the base language, allowing easy portability to other C vendors having a compiler for that processor. It should be noted that while C++ is more used on PC-class hardware and upwards, C is very large in the embedded market, and the guys implementing these compilers have a tough time constantly adding extra data types and keywords just because the NEED to map the full capability set of the used processor. In desktop programming, we don't give a damn if the compiler ignores using one or two exotic processor instructions but in the embedded market that instruction might be the difference between a working and a non-working application, and no designer designs in +10 - +50% higher chips multiplied by 100k units to get an extra feature and not being able to use it. With _Bool and _Complex data types, they might test-run the application on their normal PC while developing, and then recompile the source with the target compiler and make timing and final test runs on the real metal. > > > > 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 > |