Je développe une lib, et au moment de lancer un prgm pour tester la lib, il me sort "Corrupted program".
J'ai cherché dans la doc de PreOS, y'a rien !

Martial Demolins :non, je l'ai édité sur mon PC
ah... tu as édité la lib en cours d'utilisation? (éventuellement une section BSS initialisée)
sinon... c'est étrange... tu compiles avec quoi? C'est une lib dynamique je supposelib dynamique oui, kernel donc.
tprbuilder hibtest.tpr tprbuilder: tigcc test.c testutils.c testlayout.c testreader.c testparse.c testother.c testmenu.c testload.c testfont.c testdraw.c testmenuVAT.c testmkhtxt.c hibliba.a -o "hibtest" -n hibtest -Os -Wall -W -Wwrite-strings -ffunction-sections -fdata-sections -mno-bss -WA,-g,-t --optimize-nops --optimize-returns --optimize-branches --optimize-moves --optimize-tests --optimize-calcs --remove-unused --cut-ranges --reorder-sections --merge-constants -DUSE_TI89 -DUSE_TI92PLUS -DUSE_V200 -DMIN_AMS=100 -DKERNEL_FORMAT_BSS -DKERNEL_FORMAT_DATA_VAR -DSAVE_SCREEN
Lionel Debroux :Je suis persuadé de ne pas avoir de donnée de 8ko en statique... je vais vérifier mais ca m'étonnerait que j'ai fait une erreur pareille.
> D'ailleurs, en éditant la lib, j'ai vu qu'il y avait près de 8k de 0x00 .......pour une lib de 32ko... Cela semble typique de choses qui devraient être allouées.
Lionel Debroux :mais en fait, c'est quoi BSS ?
#7: pas foireux, mais mal utilisé.
C'est ce qui fait que CC est amélioré par les BSS, dont il utilise une quantité énorme, ce qui veut dire qu'il est écrit avec les pieds. CC est un des rares tels programmes, et il est facile à comprendre pourquoi la majorité des programmes sont moins optimisés (taille et vitesse) avec des BSS: BSS = références xxx.l relogées à un bloc de mémoire ailleurs; BSS mergé avec section data = références dans la plupart des cas d(pc) - non relogées. Partant, il faut énormément (même TI-Chess n'est pas amélioré par l'utilisation de BSS, pourtant les siens sont bien plus gros que ceux de la grande majorité des programmes) de BSS pour que ça soit bénéfique en taille, comparé à l'initialisation à 0 et la place prise de façon permanente...
PpHdmais ca veut dire quoi "corrompue" ? intuitivement pour moi ce serait un mauvais checksum.... mais je doute que ce soit ca.
:Ben ca veut dire que PreOS a detecte que ton programme et/ou librarie est corrompue et refuse de le lancer.
Je développe une lib, et au moment de lancer un prgm pour tester la lib, il me sort "Corrupted program".
Peux-tu detailler exactement ce que tu fais ?je compile ma lib dynamique, je compile ma lib statique, je compile mon programme de test : tout est OK. Je mets tout ca sur tiemu (là j'ai AMS 2.05 HW1, tiemu 2.00 RC6), dessus j'ai preos 1.0.2 fraichement installé. Je lance mon programme, l'écran se rafraichi, et y'a "hibtest Done", et en bas "corrupted program".
void _main(void) { testMemIni=HeapAvail(); FontSetSys(F_4x6); clrscr(); graphlib_choosescreen=1; testparse(); // testlayout(); // testdraw(); // testreader(); // testmenuVAT(); // testmkhtxt(); clrscr(); testPrintMem("fin"); GKeyFlush(); ngetchx(); }cette version fait le "corrupted program".
Martial Demolins :ben non, puisque la taille du fichier sur PC et la taille sur la Ti est pratiquement la même
t'es sûr alors que c'est pas le header de ton fichier PC qui veut ça?![]()
mais en fait, c'est quoi BSS ?
moi je ne connais que trois types d'espace : la pile (variables locales), le tas (malloc) et dans le programme (variables statiques).
mais ca veut dire quoi "corrompue" ? intuitivement pour moi ce serait un mauvais checksum.... mais je doute que ce soit ca.
je compile ma lib dynamique, je compile ma lib statique, je compile mon programme de test : tout est OK. Je mets tout ca sur tiemu (là j'ai AMS 2.05 HW1, tiemu 2.00 RC6), dessus j'ai preos 1.0.2 fraichement installé. Je lance mon programme, l'écran se rafraichi, et y'a "hibtest Done", et en bas "corrupted program".
voila ma fonction principale pour faire mes tests :