hibou Le 06/11/2005 à 12:35 J'aimerai afficher des messages dans la status bar une fois mon programme terminé. Mais preos redessine l'écran home et m'efface tout.
Existe-t-il un moyen pour que preos ne redessine pas ?
Oui, il s'agit d'un symbole à exporter dans ton prog. Regarde dans le sdk je crois que ça s'appelle _nosavescreen.

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
hibou Le 06/11/2005 à 16:29 ok, j'ai vu dans tios.h (mais bon, j'ai du faire un grep pour le trouver).
Par contre, là je suis en C.
en assembleur, pour exporter un symbole, c'est xdef. Y'a un moyen de le faire en C ? je ne pense pas que cela corresponde à extern.... (j'ai aussi essayé, ca marche pas).
Faut que je fasse un asm("...."); ?
Bizarre, je ne trouve rien.
Il faut déclarer une variable globale (non static) qui s'appelle _nosavescreen, comme ça le symbole sera exporté et le linker fera son boulot.
ort _nosavescreen;Donc par exemple :sh
VE_SCREEN dans ton fichier source que le header kernel.h teste et ajoute ce qu'il faut lui-même :#ifdef NO_SAVE_SCREEN
short _nosavescreen;
#endifMais ce serait plus élégant de faire un #define NO_SA
Mais ça ne serait pas terrible si le header était inclus dans plusieurs fichiers car ça multiplierait les définitions de la variable _nosavescreen.
Cela dit, c'est déjà ce qui est fait pour détecter le modèle cible...

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
Sinon, finalement, faire un asm(" xdef _nosavescreen"); est peut-être ce qu'il y a de plus propre.
Qu'en penses-tu PpHd ?

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
PpHd Le 06/11/2005 à 17:31 Le linkeur optmise les multiples references a _nosavescreen de lui meme, et les enleve.
hibou Le 06/11/2005 à 17:49 je comprend pas, il le prend pas en compte, sous quelque forme que ce soit: avec asm(...), short _no...
J'ai même pensé que c'était un pb avec mes paramètres de compilation, mais même en les enlevant, ca marche pas.
Voila comment je compile :
hibou@i6000 ~/prog/ti/hibview/src $ make
Building file: comp.c
tigcc -c -Os -Wall -W -Wwrite-strings -ffunction-sections -fdata-sections -Werror-implicit-function-declaration -WA,-t comp.c -I/home/hibou/prog/ti/hibview/src/../../hiblib/lib/ -I/home/hibou/prog/ti/hibview/src/../../hiblib/liba/ -I/home/hibou/prog/ti/hibview/src/../../preos/sdk/include/c/ -DUSE_TI89 -DUSE_TI92PLUS -DUSE_V200
comp.c: In function 'uncomp':
comp.c:41: warning: unused variable 'ret'
Building file: hibview.c
tigcc -c -Os -Wall -W -Wwrite-strings -ffunction-sections -fdata-sections -Werror-implicit-function-declaration -WA,-t hibview.c -I/home/hibou/prog/ti/hibview/src/../../hiblib/lib/ -I/home/hibou/prog/ti/hibview/src/../../hiblib/liba/ -I/home/hibou/prog/ti/hibview/src/../../preos/sdk/include/c/ -DUSE_TI89 -DUSE_TI92PLUS -DUSE_V200
Building file: options.c
tigcc -c -Os -Wall -W -Wwrite-strings -ffunction-sections -fdata-sections -Werror-implicit-function-declaration -WA,-t options.c -I/home/hibou/prog/ti/hibview/src/../../hiblib/lib/ -I/home/hibou/prog/ti/hibview/src/../../hiblib/liba/ -I/home/hibou/prog/ti/hibview/src/../../preos/sdk/include/c/ -DUSE_TI89 -DUSE_TI92PLUS -DUSE_V200
Linking the program : hibview.??z
ld-tigcc -o hibview comp.o hibview.o options.o /usr/ti-linux-gnu/lib/tigcc.a /home/hibou/prog/ti/hibview/src/../../hiblib/liba//hibliba.a --remove-unused --optimize-relocs --optimize-code --cut-ranges --reorder-sections --merge-constants --omit-bss-init
Copying files
********************** hibview.??z done
Copying files
-rw-r--r-- 1 hibou users 25695 nov 6 17:36 ../hiblib.89z
-rw-r--r-- 1 hibou users 16551 nov 6 17:36 ../hibview.89z
une idée ?

PpHd Le 06/11/2005 à 18:00 Quelle version de PreOS ?
En principe, seulement pour les variables non initialisées... Mais ça n'a rien de spécifique à (TI)GCC, c'est spécifié par le standard C ^^
« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)
hibou> Avec TIGCC, il faut utiliser un nom plus explicite : _flag_2.

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
En gros ça oblige à faire de l'archéologie, à les rentrer sur tiwiki (s'ils n'y sont pas déjà), ou à poser la question sur un forum.

Que cache le pays des Dieux ? -
Forum Ghibli -
Forum LittéraireLa fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
hibou Le 07/11/2005 à 20:52 ah ok, je comprends un peu mieux pourquoi _flag_2 en lisant la doc tigcc.
effectivement ca mérite une entrée dans le wiki.