• [^] # Re: suckless !! More is less !

    Posté par (site web personnel, Mastodon) . En réponse au journal Pourquoi un PC ralentit-il ?. Évalué à 1. Dernière modification le 02 juillet 2014 à 22:06.

    • avec les opérateurs, on sait exactement ce qu'on fait ;

    En assembleur aussi ;)

    • avec les champs de bits C, incertitude sur le padding ?
    • avec les champs de bits C, incertitude sur l'ordre des champs, des bits, des octets, des mots ?
    • avec les champs de bits C, incertitude sur la taille du type crée ?

    Là, j'avoue que je ne sais pas non plus.

    Je ne sais pas si en Ada (c'est bien de l'Ada, tes exemples ?) on a plus de certitudes.

    Ben non, justement. Je n'avais pas mis la fin de l'exemple mais on a ça

    for Program_Status_Word'Size use 8*System.Storage_Unit;
    for Program_Status_Word'Alignment use 8;

    Avec ça, tu en connais encore plus.
    Mais pour l'ordre des champs, c'est déjà précisé dans l'exemple précédent qui spécifie les tailles ET les emplacements. Par contre, quand tu as besoin d'un champ inutilisé, tu es obligé de le spécifier aussi.
    Pour la taille du type, ça peut être précisé dans le type utilisé avec l'attribut Size.
    Du coup, ça permet des trucs comme ça. Bon, c'est lourd mais au moins, tout est précisé ;)
    D'ailleurs, tu trouveras à peu près tous les exemples de clauses de représentation.