Les includes de langage C
Fermé
smail82
Messages postés
86
Date d'inscription
mercredi 9 juillet 2008
Statut
Membre
Dernière intervention
4 novembre 2010
-
13 juin 2009 à 14:39
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 17 juin 2009 à 08:07
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 17 juin 2009 à 08:07
A voir également:
- Les includes de langage C
- Langage ascii - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
- Langage pascal - Télécharger - Édition & Programmation
- Dev-Pascal - Télécharger - Édition & Programmation
11 réponses
smail82
Messages postés
86
Date d'inscription
mercredi 9 juillet 2008
Statut
Membre
Dernière intervention
4 novembre 2010
3
14 juin 2009 à 13:18
14 juin 2009 à 13:18
merci mais j'arrive pas à comprendre l'histoire des includes si vous permettez donner moi plus d'explication car j'en est vraiment besoin.
une autre question: Comment puisse je faire de lien entre plusieur programme en c
merci d'avance
une autre question: Comment puisse je faire de lien entre plusieur programme en c
merci d'avance
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
13 juin 2009 à 14:48
13 juin 2009 à 14:48
Salut
#ifndef __add_help_c
#define __add_help_c
C'est pour éviter les inclusions multiples. C'est très classique.
#include"incld.c"
#include"touche.c"
#include"gest_err.c
Ca c'est pas du classique, mais du "n'importe quoi" ^^.
On n'inclut pas de .c mais les .h (comme stdio.h).
#ifndef __add_help_c
#define __add_help_c
C'est pour éviter les inclusions multiples. C'est très classique.
#include"incld.c"
#include"touche.c"
#include"gest_err.c
Ca c'est pas du classique, mais du "n'importe quoi" ^^.
On n'inclut pas de .c mais les .h (comme stdio.h).
the F
Messages postés
150
Date d'inscription
dimanche 22 mars 2009
Statut
Membre
Dernière intervention
22 mars 2011
13
13 juin 2009 à 15:50
13 juin 2009 à 15:50
bonjour
géneralement les includes avec des( " " ) desingent des bibliotheques non predefinits c.à.d definit par l'utilisateur , aussi les .c c'est illogique ? refere a la source du programme .
géneralement les includes avec des( " " ) desingent des bibliotheques non predefinits c.à.d definit par l'utilisateur , aussi les .c c'est illogique ? refere a la source du programme .
the F
Messages postés
150
Date d'inscription
dimanche 22 mars 2009
Statut
Membre
Dernière intervention
22 mars 2011
13
14 juin 2009 à 22:54
14 juin 2009 à 22:54
Salut
L'histoire des includes est assez longue et c'est pas moi qui va la raconter ( ca me depasse )
mais pour etre clair voici une breve explication (enfin,ce que je sais )
Quand tu ecrit une fonction predefinie dans ton programme (plutot on dit tu l'appelle) #printf par exemple #
cette fonction doit etre declaree qlq part pourque le compilateur puisse l'utiliser (le prototype en termes techniques )
pour faciliter les taches tout ces prototypes sont reunis dans un seul fichier :
c'est celuit que tu l'inclut dans l'entete [ Enfait include en anglais = inclure ] donc l'instruction #include<?????.h> fais comme si tu as copié le contenu de ce fichier (???.h) dans ton programme
\\ je croit que ca s'ppelle commande preprocesseur ! suis pas sur \\
J'espere que c'est comprehensible
THE F
L'histoire des includes est assez longue et c'est pas moi qui va la raconter ( ca me depasse )
mais pour etre clair voici une breve explication (enfin,ce que je sais )
Quand tu ecrit une fonction predefinie dans ton programme (plutot on dit tu l'appelle) #printf par exemple #
cette fonction doit etre declaree qlq part pourque le compilateur puisse l'utiliser (le prototype en termes techniques )
pour faciliter les taches tout ces prototypes sont reunis dans un seul fichier :
c'est celuit que tu l'inclut dans l'entete [ Enfait include en anglais = inclure ] donc l'instruction #include<?????.h> fais comme si tu as copié le contenu de ce fichier (???.h) dans ton programme
\\ je croit que ca s'ppelle commande preprocesseur ! suis pas sur \\
J'espere que c'est comprehensible
THE F
smail82
Messages postés
86
Date d'inscription
mercredi 9 juillet 2008
Statut
Membre
Dernière intervention
4 novembre 2010
3
15 juin 2009 à 11:16
15 juin 2009 à 11:16
merci bien j'espere bien que j'avance avec vos explications
salut
salut
smail82
Messages postés
86
Date d'inscription
mercredi 9 juillet 2008
Statut
Membre
Dernière intervention
4 novembre 2010
3
15 juin 2009 à 11:16
15 juin 2009 à 11:16
merci bien j'espere bien que j'avance avec vos explications
salut
salut
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
enspt
Messages postés
3
Date d'inscription
dimanche 31 mai 2009
Statut
Membre
Dernière intervention
15 juin 2009
14 juin 2009 à 23:10
14 juin 2009 à 23:10
slt j'ai un projet en C aui est la creation d'une calculatrice scientifique svp aider moi
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
15 juin 2009 à 14:30
15 juin 2009 à 14:30
la directive #include est une simple formule de texte : ça prend en argument un fichier, et ça le copie à l'emplacement dit.
ainsi, si tu as un fichier toto.txx contenant :
int afturgluk;
et un fichier forg.c contenant :
#include <toto.txx>
int main(){afturgluk=5;return afturgluk;}
juste avant la compilation tu aura un fichier contenant :
int afturgluk;
int main(){afturgluk=5;return afturgluk;}
la différence entre #include "dodo.h" et #include <dodo.h>, c'est les chemins de recherche de ce fichier. Dans le cas entre <> le fichier sera cherché dans les répertoires par défaut, et les répertoires fourni en argument à la compilation. Avec les guillemets, le fichier sera cherché en premier lieu dans le répertoire courant.
ainsi, si tu as un fichier toto.txx contenant :
int afturgluk;
et un fichier forg.c contenant :
#include <toto.txx>
int main(){afturgluk=5;return afturgluk;}
juste avant la compilation tu aura un fichier contenant :
int afturgluk;
int main(){afturgluk=5;return afturgluk;}
la différence entre #include "dodo.h" et #include <dodo.h>, c'est les chemins de recherche de ce fichier. Dans le cas entre <> le fichier sera cherché dans les répertoires par défaut, et les répertoires fourni en argument à la compilation. Avec les guillemets, le fichier sera cherché en premier lieu dans le répertoire courant.
smail82
Messages postés
86
Date d'inscription
mercredi 9 juillet 2008
Statut
Membre
Dernière intervention
4 novembre 2010
3
16 juin 2009 à 12:30
16 juin 2009 à 12:30
bonjour,
merci mais je veux savoir le role de toto.txx et dodo.h .est ce que sont crés par l'utilisateur ou par le c.
svp la difference entre < > et " " et celle de (.c ) et (.h) .si vou permettez voila mon e-mail pour que je puisse vous expliquer mon programme et eventuellement pour m'aider et me conseiller bsmail26@gmail.com
je veux bien que vous m'aider pour avancer dans mon projet
merci bien
merci mais je veux savoir le role de toto.txx et dodo.h .est ce que sont crés par l'utilisateur ou par le c.
svp la difference entre < > et " " et celle de (.c ) et (.h) .si vou permettez voila mon e-mail pour que je puisse vous expliquer mon programme et eventuellement pour m'aider et me conseiller bsmail26@gmail.com
je veux bien que vous m'aider pour avancer dans mon projet
merci bien
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
16 juin 2009 à 12:49
16 juin 2009 à 12:49
Il n'y a rien de magique. Le .h comme le .c, c'est un fichier créé par un humain, les fichiers créés par le C qui ne sont pas finaux sont détruit à la fin (fichier après traitement des macro dont #include et fichier assembleur, voire fichier .o si on demande directement l'exécutable)
Il y a une convention, un fichier .c est un fichier qui a la vocation à être compiler. Un .h, est un fichier qui a vocation à être inclus (grace à #include) dans un autre fichier (.h ou .c) et non à être directement compilé.
Pour le reste, je te renvoie à ce qu'a expliqué Le F et a des cours. Lis un cours de C, ça ira mieux après.
Il y a une convention, un fichier .c est un fichier qui a la vocation à être compiler. Un .h, est un fichier qui a vocation à être inclus (grace à #include) dans un autre fichier (.h ou .c) et non à être directement compilé.
Pour le reste, je te renvoie à ce qu'a expliqué Le F et a des cours. Lis un cours de C, ça ira mieux après.
smail82
Messages postés
86
Date d'inscription
mercredi 9 juillet 2008
Statut
Membre
Dernière intervention
4 novembre 2010
3
16 juin 2009 à 15:09
16 juin 2009 à 15:09
salut, voila un exemple de mes programmes que je dois comprendre j'ai vous donné seulement le debut
#include"incld.c"
#include"touche.c"
#include<ctype.h>
#include"gest_err.c"
#include"type_var.c"
/* Prototypes */
void menu_haut();
char *acq_nfich(const char *ch,const char *mode); /*acquisition du nom de fichier*/
char *ascanf(int lg,int dwx,int dwy,int fwx,int fwy); /* fonction de lecture */
void message(char *ch);
int extrait(char *ptr); /* code d'une porte ou evenement */
int lecture_logique(FILE *p); /* lecture du fichier *.arb */
int lecture_texte(FILE *p); /* lecture du fichier *.txt */
void aff_ecran(char *nfich); /* afficher sur ecran */
void aff_imprimante(char *nfich1); /* afficher sur imprimante */
char *acq_ON(char*ch,int dc1,int dl1,int fc1,int fl1); /*acquisition d'un oui ou non*/
void pg_fin();
#include"incld.c"
#include"touche.c"
#include<ctype.h>
#include"gest_err.c"
#include"type_var.c"
/* Prototypes */
void menu_haut();
char *acq_nfich(const char *ch,const char *mode); /*acquisition du nom de fichier*/
char *ascanf(int lg,int dwx,int dwy,int fwx,int fwy); /* fonction de lecture */
void message(char *ch);
int extrait(char *ptr); /* code d'une porte ou evenement */
int lecture_logique(FILE *p); /* lecture du fichier *.arb */
int lecture_texte(FILE *p); /* lecture du fichier *.txt */
void aff_ecran(char *nfich); /* afficher sur ecran */
void aff_imprimante(char *nfich1); /* afficher sur imprimante */
char *acq_ON(char*ch,int dc1,int dl1,int fc1,int fl1); /*acquisition d'un oui ou non*/
void pg_fin();
smail82
Messages postés
86
Date d'inscription
mercredi 9 juillet 2008
Statut
Membre
Dernière intervention
4 novembre 2010
3
16 juin 2009 à 14:08
16 juin 2009 à 14:08
merci c'est gentil de votre part
the F
Messages postés
150
Date d'inscription
dimanche 22 mars 2009
Statut
Membre
Dernière intervention
22 mars 2011
13
16 juin 2009 à 22:13
16 juin 2009 à 22:13
vraiment tout au long de ma petite experience en c j'ai jamais vu de programmes qui commencent comme tu
a ecrit d'ou ca vient ???
je te conseille a revenir à la source ou la personne qui les a ecrit car lui seul connait cequ'il a fait .
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
17 juin 2009 à 08:07
17 juin 2009 à 08:07
J'ai déjà vu des programmes inclurent des .c (ou .tcc), GSL de GNU (bibliothèque scientifique), mais il est vrai que ce n'est pas recommandé.
Sinon, le début du programme ne me choque pas plus que ça : des include, et la déclaration de fonctions après.
Mais je ne voi pas ce qu'on peu dire de plus dessus.
Sinon, le début du programme ne me choque pas plus que ça : des include, et la déclaration de fonctions après.
Mais je ne voi pas ce qu'on peu dire de plus dessus.