Exécution d'un prog C sous Linux

Exécution d'un prog C sous Linux - Linux et OS Alternatifs

Marsh Posté le 08-12-2002 à 15:54:51    

J'ai une petite question. J'ai la Mandrake 8.2 et lorsque je programme en C j'arrive bien à compiler avec gcc -c nom.c
Seulement je n'arrive pas à exécuter ce prog avec ./nom
Et lorsque je tape pour compiler gcc -c nom.c nom    j'ai un message d'erreur qui me dit que le fichier nom n'existe pas. J'étais pourtant persuadée que c'était les bonnes lignes de commandes. Où est l'erreur svp??

Reply

Marsh Posté le 08-12-2002 à 15:54:51   

Reply

Marsh Posté le 08-12-2002 à 15:58:01    

julychoupi a écrit :

J'ai une petite question. J'ai la Mandrake 8.2 et lorsque je programme en C j'arrive bien à compiler avec gcc -c nom.c
Seulement je n'arrive pas à exécuter ce prog avec ./nom
Et lorsque je tape pour compiler gcc -c nom.c nom    j'ai un message d'erreur qui me dit que le fichier nom n'existe pas. J'étais pourtant persuadée que c'était les bonnes lignes de commandes. Où est l'erreur svp??


 
Essayes : gcc fichier.c -o monfichier.exe et reessayes

Reply

Marsh Posté le 08-12-2002 à 16:01:19    

Merci bcp!! Je vais essayer! En tout cas c'est vraiment bizarre parce qu' avant ces commandes marchait et depuis que j'ai dû reinstaller linux même si c'est la même version ça ne marche plus. Bizarre.........

Reply

Marsh Posté le 08-12-2002 à 16:04:21    

julychoupi a écrit :

Merci bcp!! Je vais essayer! En tout cas c'est vraiment bizarre parce qu' avant ces commandes marchait et depuis que j'ai dû reinstaller linux même si c'est la même version ça ne marche plus. Bizarre.........


 
-c veut dire que tu veux generer une librairie. Or une librairie ne peut s'excecuter : CQFD.
 
 là ça devrait aller

Reply

Marsh Posté le 08-12-2002 à 17:29:21    

samuelp a écrit :


-c veut dire que tu veux generer une librairie. Or une librairie ne peut s'excecuter : CQFD.
 
 là ça devrait aller


 
arf :) Sam, quand t'es pas sûr de toi, abstiens-toi plutôt que de dire une connerie (je sais c'est dur :D). L'option -c sert à compiler (produire un .o), et elle ne fait que ça: gcc sans options fait la compilation ET le linkage en une fois, ce qui permet de produire un executable.

Reply

Marsh Posté le 08-12-2002 à 17:34:43    

et pis -o montruc.exe, faut pas deconner non plus !

Reply

Marsh Posté le 08-12-2002 à 17:36:09    

Captain ad-hoc a écrit :


 
arf :) Sam, quand t'es pas sûr de toi, abstiens-toi plutôt que de dire une connerie (je sais c'est dur :D). L'option -c sert à compiler (produire un .o), et elle ne fait que ça: gcc sans options fait la compilation ET le linkage en une fois, ce qui permet de produire un executable.  


 
C'est pas ce que je viens de dire plus haut peut etre ?
 
 Un .o c'est pas une sorte de librairie ?  
 
Regardes ma reponse plus haut ! Je suis un master du gcc  :sol: je ne me trompe jamais   :D

Reply

Marsh Posté le 08-12-2002 à 17:36:54    

apolon34 a écrit :

et pis -o montruc.exe, faut pas deconner non plus !


 
Bon, disons un -o montruc comme ça y a pas de confusion.
 
Mais avec un .exe ça marche aussi :D

Reply

Marsh Posté le 08-12-2002 à 17:46:40    

samuelp a écrit :


 
C'est pas ce que je viens de dire plus haut peut etre ?
 
 Un .o c'est pas une sorte de librairie ?  
 
Regardes ma reponse plus haut ! Je suis un master du gcc  :sol: je ne me trompe jamais   :D  


 
ok j'avais pas vu que c'était toi qui avait donné la bonne réponse plus haut. On peut voir un .o comme une sorte de bibliothèque (<- on dit pas librairie) m'enfin pour moi une bibli c'est un .a (statique, qui ressemble pas mal à un paquet de .o agregés ensemble je te l'accorde) ou un .so (dynamique, que du bonheur à fabriquer). De mon point de vue, un .o reste un objet intermédiaire dans la construction d'un executable ou d'une bibliothèque.

Reply

Marsh Posté le 08-12-2002 à 17:49:52    

Captain ad-hoc a écrit :


 
ok j'avais pas vu que c'était toi qui avait donné la bonne réponse plus haut. On peut voir un .o comme une sorte de bibliothèque (<- on dit pas librairie) m'enfin pour moi une bibli c'est un .a (statique, qui ressemble pas mal à un paquet de .o agregés ensemble je te l'accorde) ou un .so (dynamique, que du bonheur à fabriquer). De mon point de vue, un .o reste un objet intermédiaire dans la construction d'un executable ou d'une bibliothèque.
 


 
En fait je crois que je traduit mal library de l'anglais. ça doit etre ça.

Reply

Marsh Posté le 08-12-2002 à 17:49:52   

Reply

Marsh Posté le 08-12-2002 à 17:58:51    

cc fichier.c
 
si tu veux utiliser une lib
 
cc fichier.c -L/u/etc/.../ -lnom_de_la_lib
 
et l'executable ki est cree est a.out
 
donc tu fais ./a.out
 
ou sinon cc -o exec fichier.c
dans ce cas tu pourras faire ./exec
 
voila
++


---------------
Power isn't everything, one mistake can prove fatal.
Reply

Marsh Posté le 09-12-2002 à 09:45:58    

Faut eviter de l'appeler exec, parce que bon apres, si il fait 'exec' sans le ./ ca risque de le surprendre.
 
C'est l'erreur classique du :
$ gcc test.c -o test
$ test
$
("- bah ca fait rien !!! Ah marche po !!!" )
quand on debute la prog...
Que le premier qui n'a jamais fait ca me lance la premiere pierre (aie, mais heu, arretez... :D )


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 09-12-2002 à 10:44:13    

e_esprit a écrit :

Faut eviter de l'appeler exec, parce que bon apres, si il fait 'exec' sans le ./ ca risque de le surprendre.
 
C'est l'erreur classique du :
$ gcc test.c -o test
$ test
$
("- bah ca fait rien !!! Ah marche po !!!" )
quand on debute la prog...
Que le premier qui n'a jamais fait ca me lance la premiere pierre (aie, mais heu, arretez... :D )

Arf, arf, arf ... 'me rappelle un TP sur AIX, ça.

Code :
  1. #include <stdio.h>
  2. main() {
  3.     printf(" COUCOU !!!\n" );
  4. }

~/TP2$ cc -o test test.c
~/TP2$ test
~/TP2$
«Ben .... ? Monsieur, ya le printf qui marche pu.» :lol:

Reply

Marsh Posté le 09-12-2002 à 10:45:30    

Jak a écrit :

~/TP2$ cc -o test test.c


 
[:dawa]
 
On a tous fait la connerie au moins une fois :D


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 09-12-2002 à 10:56:40    

Jak a écrit :

Arf, arf, arf ... 'me rappelle un TP sur AIX, ça.

Code :
  1. #include <stdio.h>
  2. main() {
  3.     printf(" COUCOU !!!\n" );
  4. }

~/TP2$ cc -o test test.c
~/TP2$ test
~/TP2$
«Ben .... ? Monsieur, ya le printf qui marche pu.» :lol:


C'est EXACTEMENT la meme... :lol:


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 09-12-2002 à 14:07:12    

Merci bcp ça marche enfin!!!!!!  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed