Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> C /C + + -programmering >> Content

    Hur Till Flytta Padding från ett C Struktur

    Datorns minne är oftast anpassade till en gräns som motsvarar i storlek till systemet ordstorlek . På en hypotetisk 32 - bitars system , föreställa sig att detta ord storlek är fyra byte långt . I C- språket , kan du skapa strukturer som lagrar data . I syfte att anpassa dem till ordet storlek , kan C-kompilatorn lägga stoppning till strukturen . Du kan ta bort detta stoppningsmaterial genom att använda en förprocessor direktiv som talar om för den att anpassa uppgifter annorlunda . Saker du behöver
    C Integrated Development Environment , såsom Eclipse CDT
    C Compiler , ett sådant GCC
    Visa fler instruktioner
    1

    Ladda C IDE genom klicka på dess programikon . När det öppnas , välj " Arkiv /Nytt /Project " och välj " C-projekt " för att skapa ett nytt C-projekt . En tom källkod filen visas i textredigeraren delen av IDE .
    2

    Skapa en " struct " heter " A " med standard minne anpassningen . Skriv följande uttalande på toppen av källkoden filen :

    struct { } A ,
    3

    Lägg några data medlemmar till struct " A. " Genom att blanda heltal och typer karaktär , du ser till att kompilatorn kuddar strukturen . På ett 32 - bitars system , de första två int datatyper vardera tar upp fyra byte minne och är perfekt i linje som är . Men de två röding datatyper vardera tar upp en enda byte , och tillsammans upptar två byte data . Kompilatorn kommer pad detta med två bytes av skräp data för att anpassa de uppgifter ordentligt . Lägg följande uttalanden till struct " A " genom att placera dem mellan klammerparenteser efter ordet

    int en " struct . " ;

    Int b;

    röding a ;

    röding b;
    4

    Skapa en förprocessor direktiv som talar om för den att anpassa sig till den 1 - bytegräns , inte 4 - bytegräns :

    # pragma pack ( push, 1 )
    5

    Skapa en annan struct , här en som heter " B " och placera den omedelbart efter förprocessor direktivet skrivet i föregående steg .

    struct { } B ;
    6

    Fyll strukt " B " med samma datatyper som struct " A , " genom att skriva följande uttalanden inom klamrar av struct " B. " Dessa datatyper kommer att radas upp till närmaste byte , som råkar vara 10 ( fyra för varje int , en för varje röding ) . Det blir ingen utfyllnad i denna struktur

    int a; .

    Int b;

    röding a ,

    röding b;

    7

    Återställ anpassningen tillbaka till standardinställningen genom att skriva följande uttalande :

    # pragma pack ( pop ) katalog

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur sortera Två Obundna Kolumnerna i DataGridView
    ·Hur man tar bort ett index i en dynamisk array av helta…
    ·Hur man läser Hex Number C + +
    ·Hur man sparar data på XCode för iPhone
    ·MFC ActiveX Tutorial
    ·Hur man kompilerar kod på en Mac
    ·Hur man sätter in en fördröjning i sekunder för C +…
    ·Hur man använder Void Pekare i C
    ·Vad Är Struktur Variabler initieras till i C
    ·Konvertera DataView Into en TreeView
    Utvalda artiklarna
    ·Hur Överför webbplatsens innehåll från Cpanel
    ·Hur man programmerar en Array i Visual Basic
    ·Hur nära ett formulär i VB.NET
    ·Hur att öka storleken textfält i en Java-applet
    ·Konfigurera Java JDK
    ·Hur man skapar Vb.Net Dokumentation
    ·Skillnad mellan Rich Text & HTML
    ·Förteckning över Teckensnittsfamiljer
    ·Den funktion F- statistik i MATLAB
    ·Hur man beräknar Färggradient
    Copyright © Dator Kunskap http://www.dator.xyz