Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/06/2006, à 22:43

Arrrakis

besoin de clarifier quelques trucs en compilation svp

Bonsoir tongue
Je me suis mis recemment au C/C++ sous windows (avec devc++) sans chercher a comprendre comment ca fonctionnait.
Je suis passé sous linux il y a 3 jours et je vois mal comment faire un programme en C...
Je sais juste qu'il faut que je le compile avec gcc.
Mais avant, je dois mettre mon code dans un fichier texte tout bete (comme en python quoi)? mais avec quelle extension ?
Enfin bref je suis pommé entre les fichier o les fichiers h et toutes ces petites bêtes fort peu attirantes roll
si quelqu'un pouvait m'eclaircir sur ce sujet big_smile
d'avance merci !

Hors ligne

#2 Le 13/06/2006, à 22:53

gene69

Re : besoin de clarifier quelques trucs en compilation svp

hum

tu commences par ça
http://jerikojerk.over-blog.net/categorie-515352.html
et tu regardes la correction là si tu ne trouves pas le bug:
http://jerikojerk.over-blog.net/categorie-519188.html (le code est en bas de la page.)

l'extention pour le "C" les sources c'est "*.c" et le header c'est "*.h"
remarque pour le C les commentaires sont seulement /* */

Dernière modification par gene69 (Le 13/06/2006, à 22:54)


Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion

Hors ligne

#3 Le 13/06/2006, à 23:05

Riicooo

Re : besoin de clarifier quelques trucs en compilation svp

Si tu ne veux pas te poser de question, tu peux utiliser un programme similaire (je crois) à Dev-C++ : Anjuta.
Sinon, c'est pas bien compliqué : pour gcc l'option -o permet de definir le nom du fichier et l'option -c permet de faire les .o.
Pour l'extention des fichiers, cela n'a aucune importance (sous Linux de manière général d'ailleurs).
Pour les .h, ils n'intervienent pas dans la commande de compilation.

gcc = pour du C
g++ = pour du C++

Par exemple pour des fichiers main.cpp a.cpp a.h b.cpp b.h :
g++ -o main.o -c main.cpp
g++ -o a.o -c a.cpp
g++ -o b.o -c b.cpp
g++ -o programme main.o a.o b.o

Dernière modification par Riicooo (Le 13/06/2006, à 23:09)

Hors ligne

#4 Le 13/06/2006, à 23:43

gene69

Re : besoin de clarifier quelques trucs en compilation svp

pour l'extention des fichiers je ne suis pas d'accord. D'une part gedit base sa coloration sur l'extention du fichier et passe des sources c++ avec une extention ".c" gcc va hurler...
De même j'ai eu une fois une tonne d'ennuis parce que je voulais mettre des "*.C" à mes fichiers en C. le gcc que j'avais (c'étais un vieux) les a pris pour du C++, ça marchais pas...

L'entête mime d'un fichier source C est je pense (et à confirmer) la même que celle d'un fichier texte.


Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion

Hors ligne

#5 Le 13/06/2006, à 23:52

Riicooo

Re : besoin de clarifier quelques trucs en compilation svp

Je ne voulais parler des extentions que pour gcc, mais c'est vrai qe pour gedit et d'autres exemple elles sont importantes.
Je ne savais pas que les extentions était importantes pour gcc !
Je teste...

edit: pas de problème chez moi pour g++ avec des sources c++ avec une extention .c ...

Dernière modification par Riicooo (Le 14/06/2006, à 00:02)

Hors ligne

#6 Le 14/06/2006, à 00:41

gene69

Re : besoin de clarifier quelques trucs en compilation svp

bon j'accepte ma défaite. C'est un vieux souvenir qui remonte à l'époque ou je ne comprenais rien au code que j'écrivais.


Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion

Hors ligne

#7 Le 14/06/2006, à 09:39

Arrrakis

Re : besoin de clarifier quelques trucs en compilation svp

Par exemple pour des fichiers main.cpp a.cpp a.h b.cpp b.h :
g++ -o main.o -c main.cpp
g++ -o a.o -c a.cpp
g++ -o b.o -c b.cpp
g++ -o programme main.o a.o b.o

donc en gros la commande c'est gcc/g++ -o [fichier o] -c [fichier kon veut]  ???
Et dans la derniere ligne tu créé un executable a partir des .o que tu as créé précédemment ??

Hors ligne

#8 Le 14/06/2006, à 10:00

Riicooo

Re : besoin de clarifier quelques trucs en compilation svp

Presque wink :
gcc/g++ -c [fichier.cpp pour faire un .o] -o [fichier kon veut en .o] (l'ordre est pas important -o avant ou aprés -c...).
g++ -o a.o -c a.cpp   --> te créé "a.o" à partir de "a.cpp"
g++ -o programme main.o a.o b.o   --> te créé l'exécutable en utilisant les 3 .o créés précédement (donc là, t'as bon smile).

Hors ligne

#9 Le 14/06/2006, à 12:29

Arrrakis

Re : besoin de clarifier quelques trucs en compilation svp

Nickel, merci bien tongue

Hors ligne