• [^] # Re: paille/poutre etc

    Posté par (site web personnel) . En réponse à la dépêche La route de PDF vers l'ISO. Évalué à 1.

    Même si c'est pas dans le standard, historiquement ca existe, ca a été largement utilisé et c'est encore utilisé.
    Effectivement, dans la plupart des situations c'est pas du tout pertinent et largement déconseillé, mais historiquement cette possibilité a permi d'assurer une transition avec de nombreux codes existant.
    De plus si on regarde de plus près le langage C, c'est une "simple" surcouche aux instructions bas-niveau. Pour s'en persuader, il suffit par exemple de regarder la taille des données manipulés : la taille d'un entier est souvent référencé comme étant une "donnée machine", autrement dit on fait directement référence aux instructions machines dessous qui manipulent des données d'une certaine taille, bref on fait référence aux même concepts qu'en assembleur. D'ailleur suffit de faire un sizeof sur une machine 64 bits pour constater les dégâts sur des programmes qui partait du principe qu'un long était sur 32 bits.
    Il est également très facile de mixer un code .o écrit en C avec un bout d'assembleur, parcque le C a été conçu pour intéragir facilement avec l'assembleur.
    Bref, tout en étant une nouvelle syntaxe qui fait abstraction de la plupart des différences entre les différents assembleurs (c'est tout l'intérêt du C), il reste une bonne part non négligeable de concepts liés à l'assembleur qui font que les 2 univers peuvent se mélanger aisément et ainsi faciliter les transitions.

    Autrement dit : le format est différent, mais le contenu sémantique produit est largement équivalent. Pour faire le parrallèle, on utilise une nouvelle syntaxe dans l'OpenXML, le XML, plutôt qu'un truc binaire lié à un logiciel. Mais on représente les mêmes informations.