Vertyos
: donc il faudrait logiquement allouer la 2eme liste (celle qui contient que des elements valides) à chaque fois
Tu connais alloca? Ou les tableaux à taille variable du C99? Si c'est l'allocation qui te dérange, voilà la solution.
Vertyos
: donc il faudrait logiquement allouer la 2eme liste (celle qui contient que des elements valides) à chaque fois
Vertyos :
Non non, 256 elements (char)![]()
Et puis de toute façon même si ça avait été des pointeurs, c'est 256 * sizeof(*char) et non pas 256 * sizeof(int), un int fait 2 octets sur Ti
256 * sizeof(*char)
Vertyos
: Oui je connais alloca, mais le problème aurait été le même qu'avec un malloc "normal" : allouer / désallouer plusieurs fois la mémoire par frame aurait sans doute considérablement ralenti. Finalement même si la méthode avec une seule allocation est un peu plus couteuse en RAM, elle devrait être plus rapide.
godzil
: d'ailleur c pour sa que les int posent des pbms sur TIGCC... il devrait etre 32bits et pas 16bits...
nitro
:godzil
: d'ailleur c pour sa que les int posent des pbms sur TIGCC... il devrait etre 32bits et pas 16bits...
Euuuuuh nonUn int n'est pas forcement sur 32-bits. Le standard ne l'a jamais imposé. Beaucoup de personnes pensent comme toi et écrivent du code non-portable à cause de ça.
godzil :
La logique du C veux qu'un int soit egal a la taille d'un poiteur sur une processeur particulier. Que je sache un pointeur sur le 68000 fait 32bits, donc l'int devrait faire 32bits et pas 16bits...
Vertyos
: Oui je connais alloca, mais le problème aurait été le même qu'avec un malloc "normal" : allouer / désallouer plusieurs fois la mémoire par frame aurait sans doute considérablement ralenti.
godzil :
et oui la taille d'un poiteur = sizeof(int)
quand tu fait
void *MonPtr tu allou la taille d'un int en mémoire pour stoquer le ptr (sur un PC ou une TI : 4Octets)
d'ailleur c pour sa que les int posent des pbms sur TIGCC... il devrait etre 32bits et pas 16bits...
godzil
: et le fait que les int sur TIGCC fassent 16bits est une grossierre erreur...
nitro
:godzil
: d'ailleur c pour sa que les int posent des pbms sur TIGCC... il devrait etre 32bits et pas 16bits...
Euuuuuh nonUn int n'est pas forcement sur 32-bits. Le standard ne l'a jamais imposé. Beaucoup de personnes pensent comme toi et écrivent du code non-portable à cause de ça.
godzil :
La logique du C veux qu'un int soit egal a la taille d'un poiteur sur une processeur particulier. Que je sache un pointeur sur le 68000 fait 32bits, donc l'int devrait faire 32bits et pas 16bits...
Si tu programmait en C sur une machine 8 bit ton int serait de 8 bits