Problemes fichier en tete c++ !

Fermé
Yacouba Messages postés 48 Date d'inscription samedi 25 mai 2002 Statut Membre Dernière intervention 6 janvier 2006 - 1 oct. 2004 à 19:17
 Guki - 1 oct. 2004 à 20:02
Salut a tous! SVP j'ai 3 problemes
1)je n'arrive pas a localiser le fichier de definitions stdio.cpp ou stdio.c correspondant à stdio.h! ça n'exixte pas a mon etonnement
or je veux voir comment sont implementées les fonctions classiques tel printf!

2)je fais un prog ou j'ai un fichier d'en tete dec.h associe a son fichier de definition dec.cpp(tout ceci dans le meme repertoire que mon source principal prog.cpp)
mais quand je compile ce dernier, j'ai une erreur(message affiché: unresolve external +" nom d'une fonction declarre dans dec.h "..)

3) comment gerer un prog avec plusieurs sources(aspect compilation, edition liens ...) avec et sans la ligne de commande?

(je travaille avec borland c++ sous windows)
merci de votre aide
A voir également:

2 réponses

Salut!

1/ Ils (.c/.c++) doivent bien exister quelque part avant d'être compilé en binaire (.o/.so) mais où je reste sur ma faim tout comme toi. A temps perdu il m'arrive de me constituer ce genre de fichier (.c) en C codé façon "home-made". Si ça t'intéresse je peux te filer ce que j'ai commencé où si vraiment ça t'intéresse tu pourrais peut être m'aider ce qui me permettrais de faire progresser mon amusement.^^

2/ Le header (.h) sert à déclarer des fonctions, structures etc cependant il implique l'utilisation d'une bibliothèque statique (.o pour object) ou partagée/dynamique (.so pour shared object ou .dll pour dynamic linked library). Toutes les fonctions du C par exemple sont dans les bibliothèques statiques contenues dans le fichier (.a pour archive) gcclib.a (du moins pour GCC) qui se situe dans le répertoire dédié /lib/. Les crochets anguleux <> indique le répertoire dédié /include/ où sont stockés les headers.

3/ Pour faire quelque chose de carré et modulable je te conseille de créer une bibliothèque de fonctions statique (.o) dont les fonctions seront disponibles par l'application d'un header (.h) et en plaçant la bibliohtèque statique dans sont répertoire dédié (/lib/) ainsi que le header dans le sien (/include/).

J'espère n'avoir pas été trop confu. ^^

NB: Je parle beaucoup de C parce que je le connais mieux mais comme C est la base de C++ on peut appliquer la même méthodologie.
0
si vraiment ça t'intéresse beaucoup*
0