STB1019 / SkullOfSummer

Learn stuff with less 7-days
Apache License 2.0
5 stars 0 forks source link

problematiche relativo ai moduli in C #11

Closed Koldar closed 7 years ago

Koldar commented 7 years ago
  1. Per quanto riguarda il punto "Non solo prototipi": Micheal Barr specifica queste indicazione su funzioni inline (che non sono normali funzioni!): normalmente nell'header vanno messe solo le dichiarazioni delle funzioni standard, mai le definizioni!. Per come sono le funzioni inline, il discorso è diverso ed è per questo che Barr specifica alcune casistiche in cui il corpo della funzione inline sia nell'header;
  2. A volteextern deve essere usato. Tecnicamente, tutte le dichiarazioni di funzioni nel modulo hanno implicitamente l'attributo extern. Non è detto che far vedere una variabile accessibile fuori dal modulo sia cattiva programmazione, anzi. Diciamo che è una scelta da soppesare
  3. Anche con il commento, non sono molto d'accordo per la question "#2";
  4. "static": devi scrivere che static va messa nei file "*.c". Mettere un qualcosa statico all'interno di un header è una cosa stupida da fare;
  5. In riferimento a "dati strutturati": quella scelta del "typedef struct foo foo" non deve essere la norma. Ci sono svantaggi in questa scelta. Guarda la pagina della wiki relativa all'esempio di modulo: in fondo scrivo i vantaggi e gli svantaggi;
  6. Bisogna ancora dire cosa fa la parola "extern": è importantissima per capire i moduli ed in generale C
RedsAnDev commented 7 years ago

Up

Koldar commented 7 years ago

Ok controllo e ti dico