Re: Question de généricité

Liste des GroupesRevenir à fcl ada 
Sujet : Re: Question de généricité
De : 314 (at) *nospam* drpi.fr (DrPi)
Groupes : fr.comp.lang.ada
Date : 02. Sep 2023, 14:34:35
Autres entêtes
Organisation : Posted through news.alphanet.ch
Message-ID : <ucva4u$h0r$1@shakotay.alphanet.ch>
References : 1 2 3 4 5 6 7 8 9
User-Agent : Mozilla Thunderbird
Une question à mon tour: pourquoi le choix 32, 64, 128 (puissances de deux) puis 255 (=2^8 - 1) et pourquoi +2 pour la longueur des trois premiers tableaux et +1 pour le dernier?
>
Je ne sais pas :p
J'essaie de m'interfacer sur une DLL dont le fichier d'entête associé définit les choses comme ça.
 //  String types. These include room for the strings and a NULL char,
//  or, on the Mac, a length byte followed by the string.
//  TW_STR255 must hold less than 256 chars so length fits in first byte.
#if defined(__APPLE__)--   cf: Mac version of TWAIN.h
     typedef unsigned char TW_STR32[34],     FAR *pTW_STR32;
     typedef unsigned char TW_STR64[66],     FAR *pTW_STR64;
     typedef unsigned char TW_STR128[130],   FAR *pTW_STR128;
     typedef unsigned char TW_STR255[256],   FAR *pTW_STR255;
#else
     typedef char          TW_STR32[34],     FAR *pTW_STR32;
     typedef char          TW_STR64[66],     FAR *pTW_STR64;
     typedef char          TW_STR128[130],   FAR *pTW_STR128;
     typedef char          TW_STR255[256],   FAR *pTW_STR255;
#endif
 
Je pense que j'ai trouvé la réponse.
Les types TW_STRXXX sont utilisés dans des structures encapsulées dans une directive "#pragma pack (2)".
Donc TW_STR32 a 32 octets pour les caractères + 1 octet pour le zéro de fin de chaîne + 1 octet d'alignement.
Pareil pour les autres. Sauf TW_STR255 qui n'a pas besoin d'octet d'alignement.
En théorie, il n'y a pas besoin de cet octet d'alignement puisque la directive "pack" est là pour ça. Mais peut-être qu'en pratique, avec certains compilateurs, il faut l'ajouter.

Date Sujet#  Auteur
29 Aug 23 * Question de généricité14DrPi
30 Aug 23 `* Re: Question de généricité13Gautier write-only address
30 Aug 23  `* Re: Question de généricité12DrPi
30 Aug 23   `* Re: Question de généricité11Gautier write-only address
31 Aug 23    `* Re: Question de généricité10DrPi
1 Sep 23     `* Re: Question de généricité9Gautier write-only address
1 Sep 23      `* Re: Question de généricité8DrPi
1 Sep 23       +* Re: Question de généricité3Gautier write-only address
2 Sep 23       i`* Re: Question de généricité2DrPi
2 Sep 23       i `- Re: Question de généricité1DrPi
2 Sep 23       `* Re: Question de généricité4J-P. Rosen
2 Sep 23        `* Re: Question de généricité3DrPi
15 Sep 23         `* Re: Question de généricité2Thomas
16 Sep 23          `- Re: Question de généricité1DrPi

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal