1

Comment je peux faire en sorte que mes écrans virtuels soient visibles par tout mon programmes (même par mes modules).
avatar

2

Tes modules ? C'est-à-dire ?
Il te suffit de les déclarer en tant que variable globale.
avatar
« 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. »

3

extern nom_de_lecran ?

Ben wai mais je crois que nom_de_lecran est un pointeur vers mon écran... ça marche pareil avec les poointeur qu'avec les variables ?
Quand je dis module je parle des autres sources (y'a le fichier principal avec la fonction _main() et ce que j'appelle les modules ce sont mes autres fichiers .c qui contiennent les fonctions de mon programme).
avatar

4

extern nom_de_lecran

=>
extern TYPE nom_variable;
dans tous tes fichiers sauf dans celui où tu déclare réellement la variable

TYPE nom_variable;
dans un seul fichier, celui où tu déclare réellement la variable

=> extern va dire au compilateur que la variable est déclarée dans un autre fichier (il faut donc que, dans un fichier, il n'y ait pas le extern, pour déclarer effectivement la variable)
Ben wai mais je crois que nom_de_lecran est un pointeur vers mon écran... ça marche pareil avec les poointeur qu'avec les variables ?

un pointeur n'est rien de plus qu'une variable, qu'on utilise de façon un peu particulière smile
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

5

Il semblerait que tu aies besoin d'apprendre le C. Cherche des tutoriaux sur internet, ou mieux achète-toi un bouquin sur le sujet.

Pour ta question, tu dois déclarer ta variable à l'extérieur de toute fonction pour qu'elle soit globale.
Pour pouvoir y accéder dans d'autres unités de compilation, tu dois déclarer la variable en la faisant précéder du mot-clé extern.
avatar
« 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. »

6

Il semblerait que je devrais surtout réfléchir avant de poser des questions. c'est logique tout ça tongue . J'ai un très bon bouquin sur le sujet, mais en fait, j'ai lu et bien appris tout ça ya un moment déjà, et je m'y suis remis sans le relire... arf !
ben je vais revoir tout ça. merci ++
avatar

7

La variable globale visible de tous les modules doit être déclarée en un unique endroit, et tous les autres modules doivent contenir la déclaration extern ..., éventuellement à travers un header commun. Surtout ne pas déclarer la variable dans un header commun - si c'est mal fait, chaque module contient sa copie. C'est une source de bugs subtils et assez pénibles à trouver.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

8

Et même si un header commun n'est pas forcément ce qu'il y a de mieux à faire d'une manière général (sauf si on considère "commun" comme "commun aux seuls modules qui utilisent ces variables"), de toutes façons avec tigcc faire plusieurs headers ne sert dans l'absolu à rien d'autre d'un point de vue fonctionnel/compilation séparée. Maintenant d'un point de vue organisationnel c'est une autre histoire.
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La 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.

9

Je ne comprends pas trop ta dernière phrase confus

Sinon, moi je trouve ça bien de fournir un header qui doit être inclus par les autres unités de compilation pour connaître la variable :
// ma_var.c
int ma_var;

// ma_var.h
extern int ma_var;

// mon_prog.c
#include "ma_var.h"

int main()
{
  printf("%d\n",ma_var);
  return 0;
}

// ma_fonc.c
#include "ma_var.h"

void ma_fonc(void)
{
  ma_var++;
}
avatar
« 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. »

10

pencil

11

je ne sais pas si c'est mal, mais moi j'inclue aussi ma_var.h dans ma_var.c
avatar

12

commun.h
#ifdef MAIN_C
type nom_de_la_var;
#else
extern type nom_de_la_var;
#endif
[...]


main.c
#define MAIN_C
#include "commun.h"
[...]


module.c
#include "commun.h"
[...]


Voila un bon exemple ^^

avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

13

mouais bof c'est vraiment se compliquer là
avatar

14

extern int nom_de_la_var; 
int nom_de_la_var; 


C'est parfaitement valide tongue

./11: C'est ce qu'il faut faire!

15

je suis rassuré alors :]
avatar

16

Nu :
mouais bof c'est vraiment se compliquer là

bof
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

17

bah t'as pas à te faire chier avec es tests dans les entetes
avatar

18

tu le fait qu'une seule fois :/, ça prend 30s a ecrire

mais bon
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

19

une seule fois pour chaque module
mais bon comme tu dis grin
avatar

20

Surtout que ca ne sert strictement a rien smile

21

crayon PpHd ^^

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)