Re: ANSI C: accesso ai dati di una union
|
- Subject: Re: ANSI C: accesso ai dati di una union
- From: CG Audio Laboratories
- Data: Wed, 2 Jul 2008 09:41:22 +0200
- Newsgroups: it.hobby.elettronica.digitale
> Cerca di evitare queste porcate perché distruggono la portabilità e la
> compatibilità del tuo codice, anche sullo stesso compilatore! Per assurdo
> può succedere che tutto sembra funzionare in debug senza ottimizzazioni,
> ma appena le attivi o le cambi, il tuo codice può esplodere in maniera
> casuale!
>
> Lo so, purtroppo queste pratiche sono diffuse, e si vede tanto codice
> scritto in questo modo perché magari si crede di avere più efficienza ed
> eleganza.
> Però è bene educarsi a *non* usarle e se proprio lo si vuole fare (perché
> si è *strasicuri* che il compilatore che usiamo lo permette) bisogna
> essere consci dei rischi.
Ci sono delle situazioni però in cui, anche per un briciolo di amor proprio,
non puoi fare a meno di usarle!
Se devi passare 8 bit alla volta (per esempio tramite uart lenta) un
centinaio di float che hai opportunamente bufferizzato (es. un ADC da
megasamples/s che ha acquisito un transitorio) ti conviene farlo da una
union!
Uno dei motivi perchè privilegio il C è perchè ho pieno controllo su queste
cose.
Tant'è vero che in Basic o Pascal non esistono
Ciao
CG