[Linuxtrent] Re: warning: assignment from incompatible pointer type [enabled by default]

  • From: Antonio Galea <antonio.galea@xxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Wed, 21 Mar 2012 02:05:50 +0100

2012/3/20 Pietro <peter.zamb@xxxxxxxxx>:
>
> Il mio obbiettivo è imparare il C, e possibilmente imparare a scrivere
> del sorgente in modo elegante... penso non ci sia cosa migliore che
> guardare il codice scritto dagli altri, quindi accetto ben volentieri
> la tua offerta.

L'obbiettivo di imparare il C, mi pare ottimo: per capire più in
profondità come funzionano le cose è uno dei linguaggi migliori.

L'eleganza dei sorgenti è un concetto molto elusivo, però
puoi provare ad iniziare con una scelta pratica: rendere il
tuo codice leggibile e, quando è possibile, semplice. Vieni
dal Python, quindi sai cosa voglio dire.

Se cerchi "C coding standards" trovi articoli interessanti, ad
esempio:

    http://www.ibm.com/developerworks/aix/library/au-hook_duttaC.html

Altro suggerimento: cerca qualche buon "C beautifier", prova
a fargli migliorare il tuo codice e visualizza le differenze.

Se devi davvero ottimizzare qualcosa, sarà dura essere
eleganti, però... questo è uno dei miei favoriti:

      http://foldoc.org/Duff's+device

Per quanto riguarda non lo stile ma la sostanza, ti consiglio
caldamente di compilare con almeno i warning principali attivi:

  gcc -Wall -pedantic

(man gcc e scoprirai che non sono tutti attivi nonostante "all"),
e di sforzarti di non ottenere nessuna lamentela da gcc.

Anche usare compilatori differenti a volte ti aiuta a trovare
problemi - ad esempio potresti usare anche clang e vedere
che warning ottieni.

Infine, un link per imparare divertendosi:

      http://www.gimpel.com/html/bugs.htm

Alcuni di questi bug sono davvero invisibili - quando ne vedi
la maggior parte, sei già bravo :-)

Antonio
--
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: