accès aux groupes de discussion, consultation et publication d'articles, recherche de "newsgroups"...
membres, identifiez-vous
é-mail Mot de passe
nouveau ? mot de passe oublié ?
Chargement... Chargement en cours...

Groupes français belges canadiens suisses internationaux Nétiquette
Échangez opinions et commentaires dans les forums de discussion.

Re: optimisation vs securite

 [  Nouvelle Discussion Nouvelle discussion  |  Répondre au groupe Répondre au groupe  |  fr.comp.lang.c ] 

Retour : Accueil du site fr comp lang c   charte stats de ce groupe


  Sujet:   Re: optimisation vs securite  
 De: vincent+n...@vinc17.org (Vincent Lefevre)
 Groupes: fr.comp.lang.c
 Organisation: a training zoo
 Date: 08. May 2008, 23:44:19
 References: 1 2 3 4
Dans l'article <mn.44667d853c550399.79899@wanadoo.fr>,
  Pierre Maurette <maurettepierre@wanadoo.fr> écrit:

> int main(void)
> {
>     int a, b, c, test; /* non volatile data*/
>     (volatile void)test;

(volatile void), ça a un sens? J'aurais plutôt écrit:

  (void) (volatile int) test;

>     (volatile void)(a = 0);

Et là j'aurais écrit:

  * (volatile int *) &a = 0;

et ainsi de suite.

Maintenant, concernant le code suivant:

int main(void)
{
  int a, b, c;
  (volatile void)(a = 17);
  * (volatile int *) &b = 289;
  c = 4913;
  return 0;
}

GCC ne génère aucune affectation. Et si on sort le

  int a, b, c;

afin que a, b et c deviennent des variables externes, les 3 affectations
sont générées (ce qui est normal, vu que main() peut être appelé par du
code compilé séparément, et les variables a, b et c sont accessibles).

En fait, je ne vois pas le problème dont parle Marc concernant la mise
à 0 de la mémoire: il suffit de mettre le code dans une fonction avec
le pointeur passé à cette fonction, et de compiler cette fonction
séparément du reste: le compilateur ne peut pas deviner ce que va faire
le reste du programme et ne pourra donc pas optimiser (i.e. il sera
forcé de mettre à 0 la mémoire comme voulu).

-- 
Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)


DateSujet  Auteur
01.01.
o 
Groups Explorer contact votre avis comment ça marche? rechercher un groupe suggérer un groupe abuse accueil du site   Imprimer cette page   Envoyer cette page à un(e) ami(e)