Il se trouve que, toujours dans mon projet de programme de création d'images, j'ai un nouveau problème.
En effet j'utilise deux tableaux (je sais pas trop si je peux les appeler comme ça ou pas) alloués en mémoire avec un joli...
unsigned char *tableau_image_clair=malloc(((longueur_image+1)*(largeur_image+1))/8); unsigned char *tableau_image_sombre=malloc(((longueur_image+1)*(largeur_image+1))/8);
...sachant que "(longueur_image+1)*(largeur_image+1)" doit être divisible par 8.
Or, comme je l'ai dit précédement dans un autre sujet, je souhaite que mes images puissent fait jusqu'à 255x255 pixels.
J'ai donc testé mon programme en mettant longueur_image=250 et largeur_image=140 et là... bug (ben oui je vous poste pas un sujet pour vous dire que tout va bien

J'ai donc tatonné dans les valeurs de mes longueurs/largeurs jusqu'à me rendre compte que le bug ne se produisait pas jusqu'à 250*131 mais qu'à partir de 250*132.
Remarque intéressante :
250*131=32750<...Est-ce juste du hasard?
32767=borne supérieure de l'intervalle d'un short<250*132=33000
La logique voudrait que le bug soit dû à un dépassement de mémoire. J'ai pû vérifier ça en testant le retour de mes "malloc" : j'obtiens "NULL".
Cependant je ne parviens pas à expliquer ce dépassement... Mes allocations nécessitent au maximum (pour une image de 255x255 pixels composée de deux tableaux) 16384 octets. Ca ne devrait donc poser aucun problème à l'émulateur qui a près de 200k de RAM. De plus l'émulateur a une mémoire "vide" quand je lance mon programme donc le problème ne vient pas d'une mémoire trop dispersée empêchant de tros gros blocs d'être écris (et encore, c'est pas si énorme que ça, mes 8192x2 octets de tableau -_-).
J'ai aussi envisagé le fait que je dépasse la limite des 24k (mon programme fait 5,6k pour le moment) mais même après avoir installé Preos (dernière version) qui supprime cette limite j'obtiens le même problème.
Je suis enfin allé voir dans la doc de TIGCC qui ne fait part d'aucune limitation de taille d'une allocation réalisée avec malloc..
Je ne vois vraiment pas ce qui peut clocher!
Quelqu'un aurait-il une idée de la façon dont nous pourrions résoudre mon problème s'il-vous-plaît?
Merci d'avance,
Daniel.