Variable extern
sam59470
Messages postés
38
Statut
Membre
-
le père -
le père -
Bonjour,
j'ai un problème avec une variable que je dois rendre extern.
lors de la compilation j'ai une erreur
stat.h:4: error: storage size of `stat_fix_serveur' isn't known
Le fichier stat.h :
le fichier stat.c :
MakeFile :
Je prense que c'est un problème de linkage mais je ne trouve pas où.
Merci d'avance.
j'ai un problème avec une variable que je dois rendre extern.
lors de la compilation j'ai une erreur
stat.h:4: error: storage size of `stat_fix_serveur' isn't known
Le fichier stat.h :
#ifndef _STAT_H_ #define _STAT_H_ struct stat_fix stat_fix_serveur; struct stat_cl* stat_clients; extern void afficherstat(); extern void init(); #endif
le fichier stat.c :
#include "stat.h"
#include "config.h"
/* statistique global du serveur */
struct stat_fix {
int nbclient = 0;
int ligneR = 0;
int ligneE = 0;
};
/* statistique pour les client du serveur */
struct stat_cl {
int Max_nb_client =0;
int Max_nb_liR_cl =0;
int Max_nb_liE_cl =0;
};
struct stat_fix stat_fix_serveur;
struct stat_cl* stat_clients;
void init(){
stat_fix_serveur = malloc(sizeof(int)*4);
stat_cl = malloc(sizeof(int)*4*MAX_CONNECTION);
}
MakeFile :
CC = gcc CFLAGS = -Wall -Werror -ansi -pedantic CFLAGS += -D_XOPEN_SOURCE=500 CFLAGS += -DDEBUG CFLAGS += -g BINARIES = mtcs OBJECTS = mtcs.o tools.o cnct.o stat.o all : $(BINARIES) $(OBJECTS) ###------------------------------ ### Entries ###------------------------------------------------------------ mtcs : $(OBJECTS) $(CC) -o $@ $^ ###------------------------------ ### Dependencies ###------------------------------------------------------------ # thanks to 'make depend' stat.o: stat.c stat.h cnct.o: cnct.c config.h tools.h cnct.h stat.h mtcs.o: mtcs.c tools.h config.h cnct.h stat.h tools.o: tools.c tools.h ###------------------------------ ### Misc. ###------------------------------------------------------------ .PHONY: clean realclean depend clean:: $(RM) $(BINARIES) realclean:: clean $(RM) $(OBJECTS) $(TRASHFILES) depend: $(CC) $(CFLAGS) -MM *.c
Je prense que c'est un problème de linkage mais je ne trouve pas où.
Merci d'avance.
A voir également:
- Variable extern
- Variable d'environnement temp ✓ - Forum Word
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp - Forum Microsoft Office
- Vba range avec variable ✓ - Forum VB / VBA
- Vérifier variable d'environnement TEMP - Forum Word
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
1 réponse
Bonjour
Ton problème, c'est que tu utilises la structure stat_fix (pour définir la variable stat_fix_serveur) avant de la définir.
Tu t'en sers dans ton fichier stat.h qui est inclus dans stat .c avant la définition de la structure.
Le mieux pour résoudre ça est de mettre la définition de la structure au début de stat.h
Ce n'est ni une question d'extern, ni une question de linkage, juste une question d'ordre entre la définition de la structure et son utilisation.
Ton problème, c'est que tu utilises la structure stat_fix (pour définir la variable stat_fix_serveur) avant de la définir.
Tu t'en sers dans ton fichier stat.h qui est inclus dans stat .c avant la définition de la structure.
Le mieux pour résoudre ça est de mettre la définition de la structure au début de stat.h
Ce n'est ni une question d'extern, ni une question de linkage, juste une question d'ordre entre la définition de la structure et son utilisation.