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
Bonjour,
je suis débutant en c++ et et j'arrive pas à comprendre certaine chose par exemple les includes
ci dessous un programme qui commence par:

#ifndef __add_help_c
#define __add_help_c
#include"incld.c"
#include"touche.c"
#include"gest_err.c

pas comme d'habitude #include<stdio.h> ou autres choses de ce genre
svp s'il ya quelqu'un qui peut m'aider pour avancer.
merci d'avance
A voir également:

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
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
1
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
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).
0
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
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 .
0
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
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
0
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
merci bien j'espere bien que j'avance avec vos explications





salut
0
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
merci bien j'espere bien que j'avance avec vos explications





salut
0

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
slt j'ai un projet en C aui est la creation d'une calculatrice scientifique svp aider moi
0
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
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.
0
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
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
0
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
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.
0
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
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();
0
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
merci c'est gentil de votre part
0
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

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 .
0
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
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.
0