OVH Cloud OVH Cloud

Question compilateur gcc

14 réponses
Avatar
Ioda
Bjr,

J'ai édité et compilé un petit programme avec gcc sous red hat.

gcc -o tableau.c prog

ensuite je lance prog et j'ai une erreur du bash.

Quelqu'un aurait il une piste ?

Ioda

10 réponses

1 2
Avatar
Erwann ABALEA
Bonjour,

On Tue, 8 Feb 2005, Ioda wrote:

J'ai édité et compilé un petit programme avec gcc sous red hat.

gcc -o tableau.c prog


Ah non, c'est l'inverse qu'il faut faire:
gcc -o prog tableau.c

ensuite je lance prog et j'ai une erreur du bash.


As-tu tenté './prog'?

Sous DOS/Windows, le PATH contient explicitement le répertoire courant au
début. Sous Unix, non. (le PATH est une liste des répertoires dans
lesquels rechercher un programme que tu lances par son nom).

--
Erwann ABALEA - RSA PGP Key ID: 0x2D0EABD5
-----
Et en France on continuera de rouler à droite et de laisser les femmes
bais^H^H^H^H^Haimer qui elles veulent.
(Le premier qui me fout au GNU, je le mords)
-+-MN in GNU: Fais-moi mal, Johnny Johnny Johnny envoie-moi au ciel-+-

Avatar
noone
Erwann ABALEA wrote:
Bonjour,

On Tue, 8 Feb 2005, Ioda wrote:


J'ai édité et compilé un petit programme avec gcc sous red hat.

gcc -o tableau.c prog



Ah non, c'est l'inverse qu'il faut faire:
gcc -o prog tableau.c


ensuite je lance prog et j'ai une erreur du bash.



As-tu tenté './prog'?

Sous DOS/Windows, le PATH contient explicitement le répertoire courant au
début. Sous Unix, non. (le PATH est une liste des répertoires dans
lesquels rechercher un programme que tu lances par son nom).



ajoutons aussi que tu peux faire un fichier du nom de Makefile pour
faciliter la compilation.
Il contient ceci :


all:
gcc -o prog tableau.c (il y a un TAB avant gcc)



tu compiles alors en tapant 'make'

c'est très pratique avec les éditeurs de texte emacs, vi, ...

Pour info -o signifie 'output' donc fichier de sortie

Ensuite dans les paramètres utiles tu as

-c pour la compilation séparée (gcc tableau.c -c crée un fichier objet
tableau.o que tu pourra entrer à nouveau dans gcc : gcc tableau.o
prog_principal.c -o executable)

-g pour debugguer avec gdb, ddd ou xxgdb

-pendantic -ansi -Wall pour avoir un compilateur qui laisse passer moins
de bêtises

-O2 pour optimiser la compilation...



D'avantage d'informations en tapant

man gcc
info gcc

info make

taper q pour quitter


Avatar
Fred
Erwann ABALEA wrote:

Bonjour,

On Tue, 8 Feb 2005, Ioda wrote:


J'ai édité et compilé un petit programme avec gcc sous red hat.

gcc -o tableau.c prog




Ah non, c'est l'inverse qu'il faut faire:
gcc -o prog tableau.c


ensuite je lance prog et j'ai une erreur du bash.




As-tu tenté './prog'?

Sous DOS/Windows, le PATH contient explicitement le répertoire courant au
début. Sous Unix, non. (le PATH est une liste des répertoires dans
lesquels rechercher un programme que tu lances par son nom).



ajoutons aussi que tu peux faire un fichier du nom de Makefile pour
faciliter la compilation.
Il contient ceci :


all:
gcc -o prog tableau.c (il y a un TAB avant gcc)



tu compiles alors en tapant 'make'

c'est très pratique avec les éditeurs de texte emacs, vi, ...

Pour info -o signifie 'output' donc fichier de sortie

Ensuite dans les paramètres utiles tu as

-c pour la compilation séparée (gcc tableau.c -c crée un fichier objet
tableau.o que tu pourra entrer à nouveau dans gcc : gcc tableau.o
prog_principal.c -o executable)

-g pour debugguer avec gdb, ddd ou xxgdb

-pendantic -ansi -Wall pour avoir un compilateur qui laisse passer moins
de bêtises

-O2 pour optimiser la compilation...



D'avantage d'informations en tapant

man gcc
info gcc

info make

taper q pour quitter


A noter qu'il n'y a pas besoin de Makefile pour utiliser make.
En tapant directement :
make tableau
on obtient l'exécutable tableau si make trouve tableau.c ou tableau.cpp
ou tout autre source compatible avec ses règles implicites.



Avatar
noone
A noter qu'il n'y a pas besoin de Makefile pour utiliser make.
En tapant directement :
make tableau
on obtient l'exécutable tableau si make trouve tableau.c ou tableau.cpp
ou tout autre source compatible avec ses règles implicites.


alors ça je ne connaissais pas...
et ça fait un executable...

et s'il n'y a pas de main dans tableau.c ça fait un fichier objet ?

Avatar
Vincent Bernat
OoO En cette matinée pluvieuse du mardi 08 février 2005, vers 10:07,
"" disait:

En tapant directement :
make tableau
on obtient l'exécutable tableau si make trouve tableau.c ou
tableau.cpp ou tout autre source compatible avec ses règles
implicites.


alors ça je ne connaissais pas...
et ça fait un executable...

et s'il n'y a pas de main dans tableau.c ça fait un fichier objet ?


Non, make n'est pas aussi évolué. Il a des règles préconstruites, mais
pas plus. Si tu veux un fichier objet, tu fais "make tableau.o".
--
/*
* For moronic filesystems that do not allow holes in file.
* We may have to extend the file.
*/
2.4.0-test2 /usr/src/linux/fs/buffer.c


Avatar
Fred
A noter qu'il n'y a pas besoin de Makefile pour utiliser make.
En tapant directement :
make tableau
on obtient l'exécutable tableau si make trouve tableau.c ou
tableau.cpp ou tout autre source compatible avec ses règles implicites.



alors ça je ne connaissais pas...
et ça fait un executable...

et s'il n'y a pas de main dans tableau.c ça fait un fichier objet ?


Pour faire un fichier objet :
make tableau.o

En fait ça n'a rien de magique. make utilise des règles internes dont
des règles spéciales dites "double suffixe".
Pour visualiser toutes les règles implicites de make, il suffit de taper
make -p


Avatar
noone
Pour faire un fichier objet :
make tableau.o

En fait ça n'a rien de magique. make utilise des règles internes dont
des règles spéciales dites "double suffixe".
Pour visualiser toutes les règles implicites de make, il suffit de taper
make -p


Merci à tous les deux de ces préciseuses informations...

Avatar
Nicolas Le Scouarnec
J'ai édité et compilé un petit programme avec gcc sous red hat.
gcc -o tableau.c prog


gcc -o prog tableau.c
./prog

ensuite je lance prog et j'ai une erreur du bash.


Je suppose que gcc t'as effacé ton fichier tableau.c par contre, j'ai
fait la meme connerie hier.


--
Nicolas Le Scouarnec

Avatar
Kevin Denis
Le 08-02-2005, Ioda a écrit :

J'ai édité et compilé un petit programme avec gcc sous red hat.

gcc -o tableau.c prog

gcc -o prog tableau.c

plutot, non?

ensuite je lance prog et j'ai une erreur du bash.

Quelle erreur?


Quelqu'un aurait il une piste ?

./prog


--
Kevin

Avatar
Eric Jacoboni
Bertrand DAVID writes:

ou place ton exe dans le repertoire /bin


C'est cela oui...
--
Éric Jacoboni, né il y a 1411426871 secondes

1 2