Gcc et execution
Fermé
starghof
Messages postés
177
Date d'inscription
jeudi 18 septembre 2008
Statut
Membre
Dernière intervention
8 avril 2011
-
2 nov. 2008 à 02:02
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 2 nov. 2008 à 12:06
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 2 nov. 2008 à 12:06
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
A voir également:
- Gcc et execution
- Le service sans fil windows n'est pas en cours d'exécution sur cet ordinateur - Forum WiFi
- Microsoft excel attend la fin de l'exécution d'une action ole d'une autre application ✓ - Forum Word
- Erreur d'exécution 1004 ✓ - Forum Excel
- Erreur d'exécution 13 incompatibilité de type ✓ - Forum Programmation
- MACRO : Problème " Erreur d'exécution '1004' " ✓ - Forum Excel
5 réponses
na3nou3ti
Messages postés
9
Date d'inscription
dimanche 5 octobre 2008
Statut
Membre
Dernière intervention
16 février 2009
2 nov. 2008 à 08:58
2 nov. 2008 à 08:58
pour compiler :
gcc saf.c
pour executer:
./a.out
j'espere que ca marche
gcc saf.c
pour executer:
./a.out
j'espere que ca marche
dubcek
Messages postés
18784
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 avril 2025
5 630
2 nov. 2008 à 09:13
2 nov. 2008 à 09:13
hello
c'est
gcc -o saf saf.c ; ./saf
c'est
gcc -o saf saf.c ; ./saf
bob031
Messages postés
8158
Date d'inscription
samedi 7 août 2004
Statut
Membre
Dernière intervention
1 septembre 2014
473
2 nov. 2008 à 09:34
2 nov. 2008 à 09:34
salut,
mais il la considere comme etant un repertoire ou fichier(./)
peut-être faut-il aussi rendre le script exécutable ...
mais il la considere comme etant un repertoire ou fichier(./)
peut-être faut-il aussi rendre le script exécutable ...
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
2 nov. 2008 à 10:23
2 nov. 2008 à 10:23
Salut,
Normalement le fichier est exécutable dès sa création par gcc.
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
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
2 nov. 2008 à 10:28
2 nov. 2008 à 10:28
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 fichier
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 fichier
lami20j@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
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
Halmir
Messages postés
3
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
2 novembre 2008
2 nov. 2008 à 11:41
2 nov. 2008 à 11:41
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
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
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
2 nov. 2008 à 12:06
2 nov. 2008 à 12:06
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 conesils
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 ça
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 conesils
lami20j@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 ça
gcc -c fork.c gcc -o fork.exe fork.omais on peu le faire directe sans créer le fichier objet comme l'a dit dubcek dans son message