Vous n'êtes pas identifié.
Voila surement une question bêtes ( comme la plus part de mes questions ! ) mais je voulais savoir comment on récupérait les avec DM et Turbo la liste des warnings et des erreurs. genre pour les enregistrers dans un fichier textes ou bien les afficher quand on les appelle en lignes de commandes.
merci
Hors ligne
Une autre question sous TurboC quand on inclut une librairie, normalement on inclut le .h qui contint les prototypes des fonctions dont les définitions sont dans le .c . enfin moi on m'a toujours appris à programmer comme ca.
sous TC je foutais dans le meme .h et en avant simone.
mais ce soir en attendant que le repas de noel commence, et que les invités arrivent, et bah je me suis replonger dans mon explorer et j'ai voulu séparer les .h et .c . mais TC ne compile correctement que quand j'inclu le .c et pas le .h dans le main. c normal doctor ? sous DM c la meme chose ? mais alors on m'ourait menti depuis le début lol
Hors ligne
En fait on ne peut normalement pas "inclure" un fichier .c .
Il faut voir chaque fichier C comme étant un morceau du programme indépendant des autres, et ne connaissant que le minimum de leur contenu. En fait ils ne peuvent inclure que le .h avec les déclarations, c'est tout ce dont ils ont besoin pour comprendre comment appeler par exemple des fonctions qu'ils ne définissent pas eux-mêmes.
Lorsqu'on compile un prog composé de plusieurs fichiers .c ou .cpp, le compilo traite chaque fichier séparément et consulte les .h inclus pour pouvoir traiter correctement les appels de fonctions qu'il rencontre. Il crée ainsi un fichier .o ou .obj qui contient la partie du prog compilée et une table d'entrée/sortie qui définit ce dont ce code a besoin mais qui n'a pas été défini (par exemple une fonction qui est appelée mais qui n'est pas définie dans ce fichier .c). Quand tous les fichiers sont compilés, le linker (tlink pour TCC et optlink pour DM) récupere tous les .o, connecte toutes les entrées et sorties entre elles, rajoute éventuellement certaines parties d'une librairies compilée sous forme de .lib, et vérifie que rien ne manque. Il produit finalement un programme exécutable
Donc si tu veux compiler correctement, il faudrait appeler le compilo pour chacun des fichiers, et puis le linker. TC permettait de faire ça facilement en créant des projets, mais ici on appelle directement le compilo... il suffit donc en fait de donner tous les fichiers à compiler dans la ligne de commande, et TCC comprendra qu'il devra appeler le linker à la fin. Un moyen facile de faire ça est de lancer la compilation dans le dossier de ton prog et de spécifier "*.c" comme nom de fichier à compiler, et du coup TCC va compiler et linker tous les fichiers .c du dossier
Pour ta premiere question, en fait ca dépend de l'éditeur que tu utilises... sinon tu peux executer un command prompt ("cmd"), et puis de là lancer l'execution et la fenetre ne se fermera pas qd tout sera terminé, mais c'est assez fastidieux...
Hors ligne
encore quelque chose de bete, je fais ca comment "lancer la compilation dans le dossier de ton prog" ?
je sais c bete mais j'ai jamais su comment faire pour lancer un prog dans un reertoire spécifique et surtout à koi ca sert.
parceque j'ai toujours utiliser Devcpp ou bien l'ide de tc3
Hors ligne
faut que tu foute tcc.exe dans ton "path" et pour ça fo ke taille voir dans tes variables d'envirnnement.
Ensuite tu ouvre cmd.exe ou un terminal en ligne de commande , tu fais un "cd" sur ton répertoire et tu compile ton répertoire en faisant "tcc *.c"....voila
variables d'environnement c'est : panneau de config-->système-->avancé-->variables d'environnement et ensuite qd t'es dedans,tu va en bas dans "variables systèmes",tu charche le "Path" et tu rajoutes le chemin de tcc.exe...
Hors ligne