#pragma pack

di Anonimizzato9583 il
6 risposte
Ciao ragazzi, come da titolo volevo capire il significato di #pragma pack e quali sono i vantaggi e svantaggi.
Grazie

6 Risposte

  • Che io sappia serve per allineare le strutture in memoria ad un multiplo di 2 elevato a x.
    Per più info puoi leggere anche quà:

  • Ma perchè deve essere usato e quindi forzare il compilatore?
    perchè il compilatore non lo esegue in automatico?
  • Il compilatore lo esegue in automatico come li aggrada a lui. il pack si usa per risparmiare memoria per la struct stessa ma devi essere sicuro di ciò che fai. Il pack ti cambia l'offset in memoria dei membri della struttura. Si usa per di + in sistemi embedd dove anche un byte è importante.

    http://en.wikipedia.org/wiki/Data_structure_alignmen
  • Se sbaglio a inserirla cosa può succedere?
  • Se sbagli potrai avere problemi con funzioni di lettura/scrittura sequenziale tipo fwrite/fread e i dati letti/scritti possono essere corrotti.

    p.s.: Ma i link che ti metto li leggi o no?
  • I link più le tue spiegazioni mi hanno aiutato a capire meglio questo mio dubbio grazie...
Devi accedere o registrarti per scrivere nel forum
6 risposte