Nous mettrons à jour notre Politique de confidentialité prochainement. En voici un aperçu.

L'essentiel du langage C

Comprendre l'allocation mémoire automatique

Testez gratuitement nos 1343 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Vous allez vous lancer dans la gestion de la mémoire physique de votre programme. Voyez aussi l'alignement des variables dans la RAM.
03:21

Transcription

Dans cette vidéo, je vais vous parler de l'» allocation mémoire automatique des variables. » Quand je veux dire automatique, c'est-à dire que c'est le compilateur qui va affecter un emplacement mémoire à vos variables. Vous avez deux types de mémoire. Vous le savez, vous avez, en fait, la mémoire qui est le » disque dur ou une clé » . Donc, qui est de la » ROM » Donc, c'est-à dire simplement, que c'est une mémoire non volatile. Non volatile, c'est-à dire que si vous coupez l'alimentation vous continuez à sauvegarder vos données. Puis, vous avez de la » RAM » . Donc, comme » Random Access Memory » . » Random » aléatoire mais seulement, il faut savoir que aléatoire il n'y a strictement rien d'aléatoire dedans. Tout est stocké de façon très ordonnée et d'une façon optimisée par le compilateur. Prenons le cas de l'» alignement dans la RAM » . Donc le cas d'une structure. Je déclare mes structures » ma_structure » . Je vais déclarer trois types » char » , variable1, 2, 3, un type » short » variable4 et puis un integer variable5. Donc, nous sommes promus à 1 octet, 1 octet, 1 octet, 2 octets et 32 bits donc 4 octets. Regardons un peu ce que ça donne sans l'alignement. Donc, vous avez des adresses qui sont données, par exemple, sur 32 bits. ça va dépendre, en fait, de la largeur du bus des données de votre RAM et à la première adresse qui est une adresse, ici que j'ai mis aléatoire, de 200. Le compilateur va venir mettre votre première char, puis, votre deuxième et troisième char. Par contre, l'octet qui reste, sera perdu. Puis, dans ma structure, il va y aller chercher mon » short » et il va le mettre à l'adresse suivante. Mais puisque derrière, j'ai un int là cette fois-ci, il doit prendre la totalité de l'espace mémoire. Donc, moralité j'ai perdu 1 octet ici et 2 octets. Donc, au total nous avons 12 octets occupés au lieu de 9 vraiment utilisés. Nous avons perdu de la mémoire. Mais, on dit que » la mémoire a été » , en anglais, » padded » , c'est-à dire, on va dire de façon textuelle, » rembourrée » . Ce phénomène est absolument incontournable. Vous ne pouvez pas mettre des morceaux de » short » les un derrière les autres. Un integer à cheval sur deux adresses. Ce n'est pas possible, car le mécanisme du processeur ne peut le permettre. A chaque adresse correspond un nombre bien précis d'octets qui sont alloués.

L'essentiel du langage C

Comprenez les concepts de base du langage C. Développez de simples applications en mode console, afin de comprendre les rouages d’un des langages les plus utilisés au monde.

7h51 (98 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :12 janv. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !