Gcc et execution
starghof
Messages postés
176
Date d'inscription
Statut
Membre
Dernière intervention
-
lami20j Messages postés 21506 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21506 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Bonjour,
pour compiler un programme c sous linux
on ecrit
gcc -o saf.c saf
et pour l'executer on ecrit
./saf
mais il la considere comme etant un repertoire ou fichier(./)
et ne peut pas l'executer.
s'il vous plais que dois-je faire.
merci
pour compiler un programme c sous linux
on ecrit
gcc -o saf.c saf
et pour l'executer on ecrit
./saf
mais il la considere comme etant un repertoire ou fichier(./)
et ne peut pas l'executer.
s'il vous plais que dois-je faire.
merci
Configuration: Windows XP Firefox 3.0.3
5 réponses
-
pour compiler :
gcc saf.c
pour executer:
./a.out
j'espere que ca marche -
hello
c'est
gcc -o saf saf.c ; ./saf -
salut,
mais il la considere comme etant un repertoire ou fichier(./)
peut-être faut-il aussi rendre le script exécutable ...
-
Salut,
Normalement le fichier est exécutable dès sa création par gcc.lami20j@debian:~/trash$ ls code_retour ls: code_retour: Aucun fichier ou répertoire de ce type lami20j@debian:~/trash$ gcc -o code_retour code_retour.c lami20j@debian:~/trash$ ls -l code_retour -rwxr-xr-x 1 lami20j lami20j 7376 2008-11-02 10:22 code_retour
-
Re,
Comme l'a bien dit dubcek il y a une erreur au niveau de la commande gcc
Erreur qui n'est pas montrée par starghof
Voilà ce qui ce passe si on exécute gcc -o fichier.c fichierlami20j@debian:~/programmation_systeme_en_c_sous_linux$ gcc -o fork.c fork gcc: fork: Aucun fichier ou répertoire de ce type gcc: no input files
-
-
Bonjour,
pour compiler un programme c sous linux
on ecrit
gcc -o saf.c saf
euh..., essayer plutôt
gcc -o saf saf.c
Manu -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
mais c très simple
tu fais: gcc -o saf.o -c saf.c (compilation)
gcc -o saf.c saf.exe
./saf.exe (execution)
ou soit:
gcc saf.c
./a.out
C'est s simple que ça-
Salut,
au moins tu as testé ce que tu avances?
mais c très simple
tu fais: gcc -o saf.o -c saf.c (compilation)
gcc -o saf.c saf.exe
./saf.exe (execution)
Voici ce qu'on obtiens d'après tes conesilslami20j@debian:~/ssh_shared/programmation_systeme_en_c_sous_linux$ gcc -o fork.o fork.c lami20j@debian:~/ssh_shared/programmation_systeme_en_c_sous_linux$ gcc -o fork.c fork.exe fork.exe:(.rodata+0x0): définitions multiples de « _fp_hw » /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/crt1.o:(.rodata+0x0): défini pour la première fois ici fork.exe: dans la fonction « __data_start »: (.data+0x4): définitions multiples de « __dso_handle » /usr/lib/gcc/i486-linux-gnu/4.1.2/crtbegin.o:(.data+0x0): défini pour la première fois ici fork.exe: dans la fonction « _init »: /build/buildd/glibc-2.3.6.ds1/build-tree/i386-libc/csu/crti.S:36: définitions multiples de « _init » /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/crti.o:/build/buildd/glibc-2.3.6.ds1/build-tree/i386-libc/csu/crti.S:36: défini pour la première fois ici fork.exe: dans la fonction « _start »: ../sysdeps/i386/elf/start.S:65: définitions multiples de « _start » /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/crt1.o:../sysdeps/i386/elf/start.S:65: défini pour la première fois ici fork.exe: dans la fonction « _fini »: /build/buildd/glibc-2.3.6.ds1/build-tree/i386-libc/csu/crti.S:52: définitions multiples de « _fini » /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/crti.o:/build/buildd/glibc-2.3.6.ds1/build-tree/i386-libc/csu/crti.S:52: défini pour la première fois ici fork.exe:(.rodata+0x4): définitions multiples de « _IO_stdin_used » /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/crt1.o:(.rodata+0x4): défini pour la première fois ici fork.exe: dans la fonction « __data_start »: (.data+0x0): définitions multiples de « __data_start » /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/crt1.o:(.data+0x0): défini pour la première fois ici collect2: ld returned 1 exit status lami20j@debian:~/ssh_shared/programmation_systeme_en_c_sous_linux$
En fait ta 1ère commande crée l'exécutable saf.o au lieu d'un fichier objet (malgré l'extension) la deuxième étant inutile et incorrecte.
Si tu veux créer un fichier objet .o alors tu dois faire comme çagcc -c fork.c gcc -o fork.exe fork.o
mais on peu le faire directe sans créer le fichier objet comme l'a dit dubcek dans son message
-