| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> C /C + + Programming >> Content
    Come rimuovere Imbottitura da una struttura C
    Memoria del computer di solito è allineato a un limite di dimensioni uguali alla dimensione della parola di sistema . Su un ipotetico sistema a 32 bit , immaginate che questa dimensione della parola è lunga quattro byte . Nel linguaggio C , è possibile creare strutture che memorizzano i dati . Al fine di allinearli alla dimensione della parola , il compilatore C può aggiungere imbottitura alla struttura . È possibile rimuovere questa imbottitura utilizzando una direttiva del preprocessore che dice di allineare i dati in modo diverso . Cose che ti serviranno
    C Ambiente di sviluppo integrato , come ad esempio Eclipse CDT
    C Compiler , un tale GCC
    Show More Istruzioni
    1

    Caricare il C IDE cliccando sulla relativa icona del programma . Quando si apre, selezionare " File /Nuovo /Progetto" e scegliere " Progetto C " per creare un nuovo progetto C . Un file di codice sorgente di vuoto viene visualizzata nell'editor di testo parte dell'IDE.
    2

    creare una " struttura " di nome " A" con l'allineamento di memoria di default . Scrivi la seguente istruzione all'inizio del file di codice sorgente :

    struct { } A;
    3

    Aggiungi alcuni membri dati per la struct "A. " Con l' intero missaggio e tipi di carattere , si sta assicurando che il compilatore riempimenti alla struttura . Su un sistema a 32 bit , i primi due tipi di dati int ciascuna occupano quattro byte di memoria e sono perfettamente allineati come è. Tuttavia, i due tipi di dati char occupano ciascuna un singolo byte , e insieme occupano due byte di dati . Il compilatore pad presente con due byte di dati spazzatura per allineare i dati in modo corretto. Aggiungere le seguenti dichiarazioni a struct " A" inserendoli tra le parentesi graffe dopo la parola

    int a "struct ". ;

    Int b ;

    char a ;

    char b ;
    4

    Creare una direttiva per il preprocessore che dice di allineare al limite di 1 byte , non il limite di 4 byte :

    # pragma confezione (push , 1 ) economici 5

    Creare un'altra struct , questo il nome di " B ", e metterlo subito dopo la direttiva del preprocessore scritto nel passaggio precedente .

    struct { } B ;
    6

    Fill struct " B ", con gli stessi tipi di dati come struct "A ", scrivendo le seguenti dichiarazioni all'interno della parentesi graffe di struct "B. " Questi tipi di dati si allineano al byte più vicino , che risulta essere 10 ( quattro per ogni int , uno per ogni carattere) . Non ci sarà nessun imbottitura in questa struttura

    int a; .

    Int b ;

    char a ;

    char b ;
    < br > 7

    Ripristina l'allineamento al suo valore predefinito , scrivendo la seguente dichiarazione :

    # pragma pack ( pop ) per

    Previous :

    next :
      Articoli Correlati
    ·Come nascondere un oggetto in Visual C 
    ·Che cosa sono utili C + Flag di compilazione ? 
    ·Come progettare N -tier di dati Livelli di accesso util…
    ·Qual è lo scopo di un diagramma di flusso di dati 
    ·Come impostare il tipo di carattere Arial in C # 
    ·Come fare il vostro proprietario Game Engine 
    ·Come leggere un file sequenziale in C 
    ·Come alfabetizzare un array in C + + 
    ·Come creare auto_ptr Sintassi 
    ·Come utilizzare un buffer temporaneo in C + + 
      Articoli in evidenza
    ·Come personalizzare VBA form 
    ·Come utilizzare Listbox in Visual Studio 
    ·Come scrivere Utilizzando Javascript 
    ·Come utilizzare Preference Loader su un iPhone 
    ·Come verificare se una stringa contiene solo lettere de…
    ·Come creare un Pk3 file 
    ·Come creare un PDF da un testo con Perl 
    ·VBA vs . VB 
    ·Come Bloccare lo sfondo in SMF 
    ·Come fare un gioco RPG in C + + 
    Copyright © Conoscenza Informatica http://it.wingwit.com