#pragma pack

di il
6 risposte

#pragma pack

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

6 Risposte

  • Re: #pragma pack

    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à:

  • Re: #pragma pack

    Ma perchè deve essere usato e quindi forzare il compilatore?
    perchè il compilatore non lo esegue in automatico?
  • Re: #pragma pack

    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
  • Re: #pragma pack

    Se sbaglio a inserirla cosa può succedere?
  • Re: #pragma pack

    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?
  • Re: #pragma pack

    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