Article View: fr.comp.lang.c
Article #15524Re: alignements struct/tableaux
From: Emmanuel Delahaye
Date: Sat, 17 Sep 2005 22:17
Date: Sat, 17 Sep 2005 22:17
45 lines
3047 bytes
3047 bytes
Pierre Habouzit wrote on 18/09/05 : > Parce que si il s'agit juste de pouvoir "embarquer" plusieurs types > diff�rents, autant utiliser une zone m�moire point�e depuis un void* ... ca > offre � peu pr�s les m�me propri�t�s. Le void* n'est pas d�terministe. Il est totalement souple par nature et convient � la g�n�ricit� totale avec le corollaire qui va avec : aucun contr�le de type. Les unions (avec s�lecteur) servent � la g�n�ricit� d�finie et �vitent les abominations que sont les fonctions 'variadics'. > Sinon *juste pour ma culture personnelle* -- je ne compte certainement pas > l'utiliser si la norme l'interdit ou ne le sp�cifie pas -- y a-t-il > vraiment *beaucoup* de compilateurs/architectures o� une struct avec deux > pointeurs sur le m�me type, ne sont pas align�s pareil que un tableau avec > deux de ces pointeurs ? Il suffit d'un, pass�, pr�sent ou � venir. > donc reposons la question autrement. si my_type est un type qui repr�sente > la plus grosse valeur enti�re manipulable par le syst�me (c'est pas > rigoureux comme d�finition, mais vous comprendrez sans doute mon point). > est-ce stupide de supposer que : On peut supposer ce qu'on veut, mais si ce n'est pas d�fini par la norme, faut pas se plaindre le jour o� �a p�te... Depuis que je travaille dans l'informatique (15 ans), j'ai utilis� une dizaine d'architectures et une quinzaine de compilateurs diff�rents. Des trucs bizarres (y compris hors norme), j'en ai vu pas mal... En embarqu� c'est un peu le bazar parfois... Quand on ne fait que du Wintel, on a l'impression (fausse) que les choses sont, disons, �tablies. La r�alit� est diff�rentes, et les gens astucieux qui ont sp�cifi�s le langage C en ont tenu compte, puisque malheureusement, il a fallu faire avec l'existant et des contraintes parfois contradictoires... -- Emmanuel The C-FAQ: http://www.eskimo.com/~scs/C-faq/faq.html The C-library: http://www.dinkumware.com/refxc.html .sig under repair
Technical Details
Message-ID:
<mn.90117d59163a1a72.15512@YOURBRAnoos.fr>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!infeed-3.proxad.net!news18-e.free.fr!not-for-mailReferences:
<432c52d5$0$9425$626a14ce@news.free.fr> <mn.8cb87d59c7031bee.15512@YOURBRAnoos.fr> <432c91b5$0$21740$626a14ce@news.free.fr>Show Full Headers
Complete Article Headers
X-Google-Thread: f9822,2ab126dba8e5e645 X-Google-Attributes: gidf9822,public X-Google-Language: FRENCH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!infeed-3.proxad.net!news18-e.free.fr!not-for-mail Subject: Re: alignements struct/tableaux From: "Emmanuel Delahaye" <emdel@YOURBRAnoos.fr> References: <432c52d5$0$9425$626a14ce@news.free.fr> <mn.8cb87d59c7031bee.15512@YOURBRAnoos.fr> <432c91b5$0$21740$626a14ce@news.free.fr> Newsgroups: fr.comp.lang.c Message-ID: <mn.90117d59163a1a72.15512@YOURBRAnoos.fr> X-Newsreader: MesNews/1.04.00.00-fr Date: Sun, 18 Sep 2005 00:17:06 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15"; format=flowed Content-Transfer-Encoding: 8bit Lines: 47 Organization: Guest of ProXad - France NNTP-Posting-Date: 18 Sep 2005 00:17:08 MEST NNTP-Posting-Host: 81.65.109.78 X-Trace: 1126995428 news18-e.free.fr 14359 81.65.109.78:27046 X-Complaints-To: abuse@proxad.net