Aide a la compilation d'un programme C mal ecrit... - C - Programmation
Marsh Posté le 06-12-2005 à 16:27:38
dentan a écrit : Voila, j'ai recuperer du code C ecrit de facon tres bizzard, que je ne sais pas compiler. |
Tu as perdu le Makefile ?
Donne une URL qu'on puisse télécharger le paquet...
Marsh Posté le 06-12-2005 à 17:58:02
Oui un URL nous aiderait à mieux comprendre la situation.
Marsh Posté le 06-12-2005 à 20:32:00
Merci pour votre interet.
Voici les sources que j'essai de compiler:
http://fortinj.free.fr/progen/
Petite precision: je ne sais pas sous quel environnement ca a ete creé. Pas de Make file non plus.
J'ai essayer cet apres midi de faire une architecture de projet comme on m'a apris a l'ecole, avec un fichier .c avec le corps des fonction et les headers pour chaque .h etc, et visiblementcertaines fonctions appelées ne sont implémentées nul part.
genre "WriteCostsToFile", "FreeTree". Les trouve-t-on dans une bibliotheque standar???
(Le simple serait quand meme de pouvoir compiler les fichier tels quels...)
Merci pour vos suggestions
Marsh Posté le 06-12-2005 à 20:48:41
ca se compile tres tres bien !! sans meme un warning , de la maniere la plus naturelle du monde...
on t'as pas appris a compiler un fichier C a l'ecole ?!?
ps: t'as quant meme pas voulu compiler les headers ??
Marsh Posté le 06-12-2005 à 20:58:25
dentan a écrit : |
Soit. Terrifiant :
|
Ce code ne peut pas fonctionner. Trop d'erreurs de codage.
Je lance, je fais '5' -> crash !
Normal :
|
En XP (eXtrem Programming), on parlerait poliment de 'refactoring'...
Voilà, c'est fait (et ça plante gravement si on fait '4'...)
http://delahaye.emmanuel.free.fr/progen/
C'est un gestionnaire de projet ?
Marsh Posté le 06-12-2005 à 21:03:34
OMG
"warning: comparing floating point with == or != is unsafe"
OOOOUTCH. "Bonjour, je suis un test qui ne demande qu'à ne pas fonctionner comme prévu"
Et puis la longue liste des warnings sur les cast/incompatibilités de types me fait peur.
Ca me fait penser à une énorme usine à gaz prête à tomber en morceaux.
A abandonner. D'urgence.
Marsh Posté le 06-12-2005 à 21:05:52
effectivement , c fait a la barbare.
ca sent le projet etudiant recupéré a plein nez !!
Marsh Posté le 06-12-2005 à 21:35:48
notornis a écrit : effectivement , c fait a la barbare. |
Ah bon ? Je croyais que ca se compilait tres bien et sans warnings.
Marsh Posté le 06-12-2005 à 21:38:13
notornis a écrit : |
notornis a écrit : effectivement , c fait a la barbare. |
Marsh Posté le 06-12-2005 à 21:55:36
matafan a écrit : Ah bon ? Je croyais que ca se compilait tres bien et sans warnings. |
et alors ?? l'un n'empeche pas l'autre
$ gcc -o truc progen.c
$
ca me parrait simple , non ?
j'ai meme pas un warning chez moi.
Marsh Posté le 06-12-2005 à 21:56:38
c'est un programme développé sous linux ?
Marsh Posté le 06-12-2005 à 21:57:06
notornis a écrit : et alors ?? l'un n'empeche pas l'autre |
essaie avec -Wall, ça marchera mieux
Marsh Posté le 06-12-2005 à 22:01:54
Harkonnen a écrit : essaie avec -Wall, ça marchera mieux |
non !!!!!!!!!! sans deconner !!!
tu veux pas non plus que je fasse un makefile, definisse des FLAGS et tout et tout juste pour tester son machin...
Marsh Posté le 06-12-2005 à 22:04:16
notornis a écrit : non !!!!!!!!!! sans deconner !!! |
utiliser un -Wall c'est quand même le minimum à faire quand on compile hein
Marsh Posté le 06-12-2005 à 22:08:36
0x90 a écrit : utiliser un -Wall c'est quand même le minimum à faire quand on compile hein |
+10000, surtout en C
Marsh Posté le 06-12-2005 à 22:10:20
0x90 a écrit : utiliser un -Wall c'est quand même le minimum à faire quand on compile hein |
je comprends bien, mais la ... aucune importance
moi, je voulais juste compiler le soi-disant projet C bizarre, incompilable.
Marsh Posté le 06-12-2005 à 22:18:46
notornis a écrit : non !!!!!!!!!! sans deconner !!! |
alias gcc='gcc -Wall'
Marsh Posté le 07-12-2005 à 00:39:57
Ok, merci.
J'avais donc reussi a compiler correctement, mais en voyant tous ces warning, et que j'avais jamais vu du code dans un fichier .h (et que j'avais des segmentation fault a l'execution), je pensais que j'avais un probleme d'edition des liens.
Bon, ca marchera donc jamais sur ma machine...
Pour l'histoire, j'ai le meme programme ecrit en pascal, qui marche tres bien, sauf pour de grosses données (le compilateur me previent d'un probleme de place si je met une des constantes du programme un peu trop grande)...
Mais la par contre je connais pas du tout le langage, j'vais essayer de comprendre un peu et demander sur le post ada si je trouve pas pourquoi.
Marsh Posté le 07-12-2005 à 06:43:27
dentan a écrit : Bon, ca marchera donc jamais |
dentan a écrit : Mais la par contre je connais pas du tout le langage, j'vais essayer de comprendre un peu et demander sur le post ada si je trouve pas pourquoi. |
Non mais laisse tomber ce programme, il est si mal foutu que tu vas te triturer les neurones pour rien.
A ce stade, il vaut mieux le laisser tomber ce machin.
Marsh Posté le 06-12-2005 à 14:48:11
Bonjour,
Voila, j'ai recuperer du code C ecrit de facon tres bizzard, que je ne sais pas compiler.
Sur une dizaine de fichier differents, il n'y a qu'un fichier .c contenant l'executacble, et les autres fichiers (qui sont .h) contiennent directement le code en fin de fichier des fonctions declarées (c'est pas tres beau), de plus il n'y a aucun #include dans ces fichiers .h (pas meme stdio pour le fichier gerant les entrées sorties).
Quelqu'un pourrait-il m'aider a compiler ces fichiers sans avoir a les reorganiser selon l'architecture classique (un fichier .c pour chaque fichier .h)? et de facon a ce que toutes les librairies appelées soient bien retrouvé (lib standard ou fichier .h fournis) sans rajouter explicitement le #include approprié dans chaque fichier?
Je n'est pas trouver de site internet sur la compilation qui parle de ce genre de fichier.
Je signal que j'avais pas mal de bases de compilation C il y a quelques années... ca n'est pas si loin que ca, mais j'ai besoin d'un coup de pouce pour me remmettre dans le bain.
Merci d'avance
PS:J'utilise gcc sous linux.
PS2: le programme est censé pouvoir compiler et marcher corretement sans modification d'aucun fichier.