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
- Vba range avec variable ✓ - Forum VB / VBA
- Variable d'environnement temp ✓ - Forum Microsoft Office
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- Variable objet ou bloc "with" non définie - Forum VB / VBA
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp - Forum Microsoft Office
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.