Re: c-Problem

Autor: Robert Schiele <rschiele_at_uni-mannheim.de>
Datum: 06.05.2005
On Fri, May 06, 2005 at 08:41:17AM +0200, Fabian Koch wrote:
> Jonas Schneider wrote:
> > //  define meineVariable
> > const unsigned char meineVariable[12032] = {
> > 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> > *(ca. 5 Seiten weiter)*
> 
> 5 Seiten?? Wenn das immer der gleiche Wert ist, geht das übrigens schön
> schnuckelig mit:
> 
> typ array[MAX] = { [0 ... MAX-1] = Wert};
> 
> ist zwar kein C99 aber gcc macht das, wenn nicht strict.

Von sowas wuerde ich dann doch eher abraten, wenn man ein Programm schreiben
will, welches man in einem halben Jahr ohne Kopfschmerzen noch warten will.
Diese Compiler-Spezial-Hacks sind immer ganz schnell hingeschrieben, werden
aber deutlich oefters geaendert, haben oft eine schwammig definierte Semantik
und zwingen dich, einen bestimmten Compiler zu nehmen.

Vor allem gibt es in dem oben genannten Fall der Initialisierung mit
Null-Werten die deutlich kuerzere und standardkonforme Schreibweise:

const unsigned char meineVariable[12032] = {};

Wenn es sich nicht um Null-Werte handelt, dann kann man es immer noch mit
vergleichbarem Programmieraufwand mit memset(3) loesen. Das ergibt bei
statischen Variablen zwar immer noch einen kleinen Laufzeitoverhead, der aber
in der Regel vernachlaessigbar ist, zumindest aber fuer die meisten Faelle
unter der Schmerzschwelle von Compiler-Specials liegt.

Robert

-- 
Robert Schiele			Tel.: +49-621-181-2214
Dipl.-Wirtsch.informatiker	mailto:rschiele@uni-mannheim.de


Received on Fri May 6 09:59:09 2005

Dieses Archiv wurde generiert von hypermail 2.1.8.
Zurück zur UUGRN-Homepage.