D'abord, notes que tu confond declaration et definition. Ce que tu as fait dans ton .h ce sont des definitions de variables, et ce n'est jamais une bonne idee de faire ca dans un .h.
Si tu veux faire les choses proprement, il te faut (les noms de fichier c'est pour l'exemple, appeles-les comme tu veux) :
- Un declaration.h ou tu declare tes variables avec "extern" (extern const double var2;)
- Un definition.c ou tu definit tes variables (const double var1 = ...;)
- Un fichier code.c ou tu met ton code. Ce fichier inclue declaration.h
Ensuite tu compiles definition.c, tu compiles code.c, et tu link les deux.
declaration.h :
Code :
- extern const double var1;
- extern const double var2;
|
definition.c :
Code :
- const double var1 = 1.0;
- const double var2 = 2.0;
|
code.c :
Code :
- #include <stdio.h>
- #include "declaration.h"
- int
- main()
- {
- printf("var1 = %f\n", var1);
- printf("var2 = %f\n", var2);
- }
|
Puis :
/home/nicolas/tmp% gcc -o appli definition.c code.c
/home/nicolas/tmp% ./appli var1 = 1.000000
var2 = 2.000000 |
Edit : y'a une phrase qui n'etait pas finie.
Message édité par matafan le 17-11-2004 à 16:14:49