Connaissances Informatiques >> programmation >> C /C + + Programming >> Content
  Derniers articles
  • Comment apprendre le C + + 
  • Comment convertir les chaînes alpha…
  • Comment changer appDelegate dans un …
  • Comment faire pour afficher des imag…
  • Comment calculer la longueur de la c…
  • Comment comparer les 2 entiers dans …
  • Computer Engineering Design Projects…
  • Comment faire un jeu de Pong en C + …
  • Comment développer des applications…
  • Comment concevoir N niveaux couches …
  •   C /C + + Programming
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    C /C + + Programming

    Comment faire pour supprimer remplissage d'une structure C

    mémoire informatique est généralement aligné sur une limite de taille égale à la taille du mot système . Sur un système 32 bits hypothétique , imaginez que cette taille de mot est de quatre octets. Dans le langage C , vous pouvez créer des structures qui stockent des données . Afin d'aligner à la taille de mot , le compilateur C peut ajouter le remplissage de la structure. Vous pouvez supprimer ce rembourrage en utilisant une directive de préprocesseur qui lui indique d'aligner les données différemment . Choses que vous devez
    C Environnement de développement intégré , comme Eclipse CDT
    compilateur C , un tel GCC
    Afficher plus Instructions
    1

    Chargez le C IDE par cliquant sur son icône du programme. Quand il s'ouvre, sélectionnez "Fichier /Nouveau /Projet " et choisissez " Projet C " pour créer un nouveau projet C . Un fichier de code source vide apparaît dans la partie éditeur de texte de l'IDE.
    2

    Créer un " struct " nommé "A" avec l'alignement de mémoire par défaut . Écrire la déclaration suivante au début du fichier de code source:

    struct { } A;
    3

    Ajouter des membres de données à la structure "A. " Par entier de mélange et types de caractères , vous vous assurez que le compilateur plots de la structure. Sur un système 32 bits , les deux premiers types de données int prennent chacun jusqu'à quatre octets de mémoire et sont parfaitement alignés tels quels. Toutefois, les deux types de données char prennent chacun un seul octet , et occupent ensemble deux octets de données . Le compilateur pad cela avec deux octets de données inutiles pour aligner correctement les données . Ajoutez les instructions suivantes à struct "A" en les plaçant entre les accolades après le mot

    int un " struct . " ;

    Int b;

    char a ; Photos

    char b ;
    4

    Créer une directive de préprocesseur qui lui indique d'alignement sur la limite de 1 octet , pas la limite de 4 octets :

    # pragma pack ( poussoir, 1)
    5

    Créer une autre structure , celle-ci nommé «B», et le placer immédiatement après la directive de préprocesseur écrit à l'étape précédente .

    struct { } B;
    6

    Remplissez struct "B" avec les mêmes types de données que struct "A", en écrivant les déclarations suivantes au sein de la accolades de struct " B. " Ces types de données seront en ligne à l'octet le plus proche, qui se trouve être de 10 ( quatre pour chaque int, un pour chaque char) . Il n'y aura pas de remplissage dans cette structure

    int a; .

    Int b;

    char a ;

    char b ;
    < br > 7

    réinitialiser l'alignement à son défaut par écrit la déclaration suivante:

    # pragma pack (pop)

     
    Article précédent:
    Article suivant:
    Articles recommandés
  • Comment allouer un pointeur de tableau 2D 
  • Comment faire pour déclarer des fonctions inline dans C + + 
  • Comment faire un C + + fenêtre principale sans un titre Bar 
  • Comment arrêter C dépassements de mémoire tampon 
  • Comment faire pour créer un portrait en C + + 
  • Comment utiliser Unicode en C + + Programmes 
  • Comment allouer un tableau 2D avec malloc 
  • Comment obtenir une valeur sélectionnée dans une zone de liste en C 
  • Comment créer votre propre moteur de jeu 
  • Comment compiler un C + + dans Dev- C 
  • Connaissances Informatiques © http://www.ordinateur.cc