Je veux organiser mon programme C avec Visual studio en des modules
*.h et *.c
Aussi, j'ai deux modules o=F9 chacun contient des fonctions qui aussi
appellent d'autres fonctions.
le module "traitement.h" doivent me retournent trois valeurs a, b et c
alors je fais les passer par adresse.
Je ne sais pas c'est l'organisation suivante est correcte ou non ?
Le programme principal "main.c" est :
Code : C
include <stdio.h">
include "traitement.h"
include "test.h"
int main()
{
int a=3D0,b=3D0,c=3D0;
.........
.........
test();
.......
traitement(&a,&b,&c);
printf("%d %d % d",a,b,c);
int fonction1()
{
.......
.......
a =3D fonction4();
return a;
}
int fonction2()
{
.......
.......
b =3D fonction5();
return b;
}
int fonction3()
{
.......
.......
c =3D fonction6();
return c;
}
int traitement(a,b,c)
int a,b,c;
{
....
...
a =3D fonction1();
b =3D fonction2 ();
c =3D fonction3 ();
Dans les .h, il ne faut mettre que les declarations des fonctions (dont le code - la definition - est dans les .c correspondants)..
merci. J'ai mis les prototypes dans "*.h" et le code dans "*.c". Mais, j'ai beaucoup des fonctions imbriquées dans le module alors dans quel ordre je vais mettre les prototypes et le code de chaque fonction dans "*.h" et "*.c" ?
On 4 août, 12:58, marc <marc.tes...@caramail.com> wrote:
Dans les .h, il ne faut mettre que les declarations des fonctions
(dont le code - la definition - est dans les .c correspondants)..
merci.
J'ai mis les prototypes dans "*.h" et le code dans "*.c".
Mais, j'ai beaucoup des fonctions imbriquées dans le module alors dans
quel ordre je vais mettre les prototypes et le code de chaque fonction
dans "*.h" et "*.c" ?
Dans les .h, il ne faut mettre que les declarations des fonctions (dont le code - la definition - est dans les .c correspondants)..
merci. J'ai mis les prototypes dans "*.h" et le code dans "*.c". Mais, j'ai beaucoup des fonctions imbriquées dans le module alors dans quel ordre je vais mettre les prototypes et le code de chaque fonction dans "*.h" et "*.c" ?
marc
programmation a écrit :
J'ai mis les prototypes dans "*.h" et le code dans "*.c". Mais, j'ai beaucoup des fonctions imbriquées dans le module alors dans quel ordre je vais mettre les prototypes et le code de chaque fonction dans "*.h" et "*.c" ?
il n'y a pas d'ordre. chaque .c inclus chaque .h correspondant , avec "extern" si besoin : http://tigcc.ticalc.org/doc/keywords.html#extern
programmation a écrit :
J'ai mis les prototypes dans "*.h" et le code dans "*.c".
Mais, j'ai beaucoup des fonctions imbriquées dans le module alors dans
quel ordre je vais mettre les prototypes et le code de chaque fonction
dans "*.h" et "*.c" ?
il n'y a pas d'ordre.
chaque .c inclus chaque .h correspondant , avec "extern" si besoin :
http://tigcc.ticalc.org/doc/keywords.html#extern
J'ai mis les prototypes dans "*.h" et le code dans "*.c". Mais, j'ai beaucoup des fonctions imbriquées dans le module alors dans quel ordre je vais mettre les prototypes et le code de chaque fonction dans "*.h" et "*.c" ?
il n'y a pas d'ordre. chaque .c inclus chaque .h correspondant , avec "extern" si besoin : http://tigcc.ticalc.org/doc/keywords.html#extern
programmation
On 6 août, 14:32, marc wrote:
programmation a écrit :
> J'ai mis les prototypes dans "*.h" et le code dans "*.c". > Mais, j'ai beaucoup des fonctions imbriquées dans le module alors dan s > quel ordre je vais mettre les prototypes et le code de chaque fonction > dans "*.h" et "*.c" ?
il n'y a pas d'ordre. chaque .c inclus chaque .h correspondant , avec "extern" si besoin :http: //tigcc.ticalc.org/doc/keywords.html#extern
Bonjour,
Je parle de l'ordre dans le fichier *.h. Si on a plusieurs fonctions dans le *.h par exemple de fonctions imbriquées et des fonctions appellent d'autres fonctions. Vous pouvez voir les fonctions au dessus. donc quel est l'ordre de déclaration de prototype de ces fonctions ?
Merci.
On 6 août, 14:32, marc <marc.tes...@caramail.com> wrote:
programmation a écrit :
> J'ai mis les prototypes dans "*.h" et le code dans "*.c".
> Mais, j'ai beaucoup des fonctions imbriquées dans le module alors dan s
> quel ordre je vais mettre les prototypes et le code de chaque fonction
> dans "*.h" et "*.c" ?
il n'y a pas d'ordre.
chaque .c inclus chaque .h correspondant , avec "extern" si besoin :http: //tigcc.ticalc.org/doc/keywords.html#extern
Bonjour,
Je parle de l'ordre dans le fichier *.h.
Si on a plusieurs fonctions dans le *.h par exemple de fonctions
imbriquées et des fonctions appellent d'autres fonctions.
Vous pouvez voir les fonctions au dessus.
donc quel est l'ordre de déclaration de prototype de ces fonctions ?
> J'ai mis les prototypes dans "*.h" et le code dans "*.c". > Mais, j'ai beaucoup des fonctions imbriquées dans le module alors dan s > quel ordre je vais mettre les prototypes et le code de chaque fonction > dans "*.h" et "*.c" ?
il n'y a pas d'ordre. chaque .c inclus chaque .h correspondant , avec "extern" si besoin :http: //tigcc.ticalc.org/doc/keywords.html#extern
Bonjour,
Je parle de l'ordre dans le fichier *.h. Si on a plusieurs fonctions dans le *.h par exemple de fonctions imbriquées et des fonctions appellent d'autres fonctions. Vous pouvez voir les fonctions au dessus. donc quel est l'ordre de déclaration de prototype de ces fonctions ?
Merci.
PYT
> donc quel est l'ordre de déclaration de prototype de ces fonctions ?
Je crois que cela a déjà été dit : "Tu ne t'en préoccupe pas"
PYT
> donc quel est l'ordre de déclaration de prototype de ces fonctions ?
Je crois que cela a déjà été dit : "Tu ne t'en préoccupe pas"
J'ai remarqué même si je copie le contenu de "calcul.c" dans "calcul.h"j'utilise seulement "calcul.h" alors le programme s'exécute bien.
Donc, pourquoi on utilise dans la programmation modulaire les fichiers "*.c" ?
C'est la base du C et des normes C89, C99,..., sur lesquelles sont basés les compilos. Lis le K&R pour avoir les bases.
programmation
On 13 août, 13:46, marc wrote:
programmation a écrit :
> J'ai remarqué même si je copie le contenu de "calcul.c" dans > "calcul.h"j'utilise seulement "calcul.h" alors le programme s'exécute > bien.
> Donc, pourquoi on utilise dans la programmation modulaire les fichiers > "*.c" ?
C'est la base du C et des normes C89, C99,..., sur lesquelles sont basés les compilos. Lis le K&R pour avoir les bases.
Bonjour,
J'ai utilise dans mon programme principal "main.c deux modules : - "calcul.c" et "calcul.h" - "traitement.c" et "traitement.h" Est ce que je compile les modules puis le programme principal ou bien le programme principal seulement ? Est ce que je lance l'exécution à partir le programme principal ?
J'ai compilé les les modules puis le programme principal puis j'ai lancé l'exécution à partir le programme principal. Le programme marche bien. Mais, j'ai deux warning:
warning C4013: 'calcul' non défini(e) ; extern retournant int pris par défaut warning C4013: 'traitement' non défini(e) ; extern retournant int pris par défaut
Comment on va résoudre ceci ?
J'ai mis dans "main.c"
#include "calcul.h" #include "traitement.h"
J'ai mis dans "calcul.c"
#include "calcul.h"
J'ai mis dans "traitement.c" #include "traitement.h"
int traitement () { ......... .......... return 0; }
Merci.
On 13 août, 13:46, marc <marc.tes...@caramail.com> wrote:
programmation a écrit :
> J'ai remarqué même si je copie le contenu de "calcul.c" dans
> "calcul.h"j'utilise seulement "calcul.h" alors le programme s'exécute
> bien.
> Donc, pourquoi on utilise dans la programmation modulaire les fichiers
> "*.c" ?
C'est la base du C et des normes C89, C99,...,
sur lesquelles sont basés les compilos.
Lis le K&R pour avoir les bases.
Bonjour,
J'ai utilise dans mon programme principal "main.c deux modules :
- "calcul.c" et "calcul.h"
- "traitement.c" et "traitement.h"
Est ce que je compile les modules puis le programme principal ou bien
le programme principal seulement ?
Est ce que je lance l'exécution à partir le programme principal ?
J'ai compilé les les modules puis le programme principal puis j'ai
lancé l'exécution à partir le programme principal.
Le programme marche bien. Mais, j'ai deux warning:
warning C4013: 'calcul' non défini(e) ; extern retournant int pris par
défaut
warning C4013: 'traitement' non défini(e) ; extern retournant int pris
par défaut
Comment on va résoudre ceci ?
J'ai mis dans "main.c"
#include "calcul.h"
#include "traitement.h"
J'ai mis dans "calcul.c"
#include "calcul.h"
J'ai mis dans "traitement.c"
#include "traitement.h"
> J'ai remarqué même si je copie le contenu de "calcul.c" dans > "calcul.h"j'utilise seulement "calcul.h" alors le programme s'exécute > bien.
> Donc, pourquoi on utilise dans la programmation modulaire les fichiers > "*.c" ?
C'est la base du C et des normes C89, C99,..., sur lesquelles sont basés les compilos. Lis le K&R pour avoir les bases.
Bonjour,
J'ai utilise dans mon programme principal "main.c deux modules : - "calcul.c" et "calcul.h" - "traitement.c" et "traitement.h" Est ce que je compile les modules puis le programme principal ou bien le programme principal seulement ? Est ce que je lance l'exécution à partir le programme principal ?
J'ai compilé les les modules puis le programme principal puis j'ai lancé l'exécution à partir le programme principal. Le programme marche bien. Mais, j'ai deux warning:
warning C4013: 'calcul' non défini(e) ; extern retournant int pris par défaut warning C4013: 'traitement' non défini(e) ; extern retournant int pris par défaut
Comment on va résoudre ceci ?
J'ai mis dans "main.c"
#include "calcul.h" #include "traitement.h"
J'ai mis dans "calcul.c"
#include "calcul.h"
J'ai mis dans "traitement.c" #include "traitement.h"