Skip to content
Extraits de code Groupes Projets
Non vérifiée Valider d6a4c61f rédigé par Olivier Bonaventure's avatar Olivier Bonaventure Validation de GitHub
Parcourir les fichiers

Merge pull request #113 from Joker018/patch-2

Modification code question 8 (main return void)
parents 65c1952a 41d8d549
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -161,12 +161,31 @@ Implémentez ces fonctions sans jamais utiliser la notation des tableaux en C (` ...@@ -161,12 +161,31 @@ Implémentez ces fonctions sans jamais utiliser la notation des tableaux en C (`
.. only:: staff .. only:: staff
#. Expliquez à quoi sert l'attribut ``packed`` des structures dans `gcc(1)`_ (regardez la manpage). Appliquez cet attribut à la structure de l'exercice précédent. Qu'observez-vous comme différence ? Quel sont les avantages et désavantages d'utiliser cet attribut ? Dans quel cas est-il intéressant de l'utiliser ? .. note::
Elle bypasse l'alignement décrit dans la question précédente. L'avantage est que la structure prend l'espace minimale n'importe soit l'ordonnancement des champs. Le désavatage est que la CPU doît faire plus de travail pour lire la variable, car des parties de la variable sont sur plusieurs registres, et donc la CPU doît faire des bit-shifts.
#. Expliquez à quoi sert l'attribut ``packed`` des structures dans `gcc(1)`_ (regardez la manpage). Appliquez cet attribut à la structure de l'exercice précédent. Qu'observez-vous comme différence ? Quel sont les avantages et désavantages d'utiliser cet attribut ? Dans quel cas est-il intéressant de l'utiliser ?
.. note:: .. note::
Elle bypasse l'alignement décrit dans la question précédente. L'avantage est que la structure prend l'espace minimale n'importe soit l'ordonnancement des champs. Le désavatage est que la CPU doît faire plus de travail pour lire la variable, car des parties de la variable sont sur plusieurs registres, et donc la CPU doît faire des bit-shifts. Il bypasse l'alignement décrit dans la question précédente. L'avantage est que la structure prend l'espace minimal n'importe soit l'ordonnancement des champs. Le désavantage est que la CPU doît faire plus de travail pour lire la variable, car des parties de la variable sont sur plusieurs registres, et donc la CPU doît faire des bit-shifts.
#. Exécutez plusieurs fois le code suivant. Expliquez les différents résultats obtenus.
.. code-block:: c
int global;
-int main (int argc, char** argv)
{
int local;
int *ptr1 = (int *)malloc(sizeof(*ptr1));
int *ptr2 = (int *)malloc(sizeof(*ptr2));
printf("global %p loc %p p1 %p p2 %p\n", &global, &local, ptr1, ptr2);
return EXIT_SUCCESS;
}
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter