Pages : 1
#1 Le 22/11/2006, à 13:26
- Spartan117
langage C [résolu]
salut tout le monde ,
ma question va vous paraître stupide mais je ne suis qu'un débutant:
comment est-ce qu'on compile du code source C sous Ubuntu.
par exemple : j'écris un programme avec gedit que j'enregistre dans le bureau. Pour Python il suffit de l'ouvrir avec l'interpréteur Python 2.4 mais pour le langage C ?
salutations
Dernière modification par Spartan117 (Le 08/12/2006, à 16:13)
Hors ligne
#2 Le 22/11/2006, à 13:30
- ffomnislash
Hors ligne
#3 Le 22/11/2006, à 13:33
- Spartan117
Re : langage C [résolu]
comment je fais ?
Hors ligne
#4 Le 22/11/2006, à 13:42
- trucutu
Re : langage C [résolu]
tu installes build-essential
tu ouvre un terminal
tu te places dans le répertoire de ton fichier .c (cd ...)
et tu compile : gcc -c ... -o ... (voir google pour les options, c'est le truc toujours difficile à retenir.
Rq : pour un .cpp, c'est g++
La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !
Hors ligne
#5 Le 22/11/2006, à 14:13
- Spartan117
Re : langage C [résolu]
okay merci
Hors ligne
#6 Le 22/11/2006, à 17:55
- trucutu
Re : langage C [résolu]
Un petit résolu ?
La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !
Hors ligne
#7 Le 22/11/2006, à 19:04
- Spartan117
Re : langage C [résolu]
bah nan ça me donne un fichier .o que je ne sais pas exécuter
exemple
je veux compiler et lancer le programme essai.c suivant;
#include<stdio.h>
main()
{
printf("C'est bon ça marche.");
return 0;
}
bon
avec quel programme est-ce que j'ouvre mon petit fichier essai.o pour pouvoir voir s'afficher le message "C'est bon ça marche." ? ça marche pas avec le terminal en tout cas
Hors ligne
#8 Le 22/11/2006, à 19:19
- abetsic
Re : langage C [résolu]
gcc tonfichier.c -o tonfichier
./tonfichier
Hors ligne
#9 Le 22/11/2006, à 19:28
- Spartan117
Re : langage C [résolu]
a ok merci je vais essayer ça
Hors ligne
#10 Le 22/11/2006, à 20:07
- Spartan117
Re : langage C [résolu]
et non toujours pas ça me renvoie : command not found pourtant j'ai bien tout fait j'y comprends rien
Hors ligne
#11 Le 22/11/2006, à 20:58
- abetsic
Re : langage C [résolu]
#include<stdio.h>
main()
{
printf("C'est bon ça marche.\n");
return 0;
}
Tu as oublié le \n pour vider le buffer d'écriture. (erreur courante)
le reste des commandes que j'ai donné plus haut est bon (je viens de tester)
Si tu as un doute : man gcc
Dernière modification par abetsic (Le 22/11/2006, à 20:59)
Hors ligne
#12 Le 22/11/2006, à 21:12
- Azema
Re : langage C [résolu]
Salut,
Je viens de voir que tu retournais un entier : return 0; et tu n'indiques pas dans ta fonction "main" le type de retour.
Il te faut mettre
#include<stdio.h>
int main()
{
printf("C'est bon ça marche.\n");
return 0;
}
Bon courage
#13 Le 23/11/2006, à 19:52
- Spartan117
Re : langage C [résolu]
okay c'est bon ça marche
merci
Hors ligne
#14 Le 24/11/2006, à 20:22
- fleon
Re : langage C [résolu]
hello
je débute aussi et je me demandai pourquoi tu renvoi quelque chose?
et aussi, est ce qu'un "hello world" aurai pas était plus approprié?
Hors ligne
#15 Le 24/11/2006, à 20:38
- [OoKaMi]
Re : langage C [résolu]
parce que normalement un programme est censé dire à son parent (celui qui à lancé le programme, ici le terminal) qu'il a fini de s'exécuter dans de bonne condition.
si tu renvois 1 c'est sensé dire que ça a buggué quelque part !
en effet si tu compilais à partir d'un makefile avec la commande make :
si tu fais un return 0 et que ton programme tu es certain qui marche tout se passe bien, si tu lui fais un return 1, la commande make va te dire qu'il y a eu une erreur alors que non puisque tu sais qu'il marche ton programme
Autre chose, compiler avec l'option -c te permet de créer en effet un code binaire .o de ton programme...
Ceci est pour faire de la compilation séparée, c'est à dire que tu compiles pleins de bout de code séparément de ton programme, t'as donc plein de .o et après tu les rassembles tous avec la commande gcc *.o -o nomdetonprogramme
l'avantage ? ben quand tu as un makefile qui fait toutes les compilations et si tu modifie une partie de ton code, dans un des fichiers il ne va recompiler que ce bout de code et recompiler le programme entier avec les autres bout pas modifié, gain de temps suivant ce que tu compiles... sur un bête "hello word !" ou prog basique comme ça tu la vois pas vraiment la différence... mais sur la compilation d'un noyau ou autre truc plus gros... c'est tout autre chose !
Dernière modification par [OoKaMi] (Le 24/11/2006, à 20:44)
Hors ligne
#16 Le 24/11/2006, à 21:27
- fleon
Re : langage C [résolu]
merci beaucoup
Hors ligne
#17 Le 27/11/2006, à 20:35
- [BZH]kamikaze
Re : langage C [résolu]
salut, comme la plupart de ce qui post ici je suis novice en sous linux.
j'ai installé build-essential mais je j'ai toujours un problème:
pour compiler on m'a dit qu'il fallait que je tape en console:
gcc -wall -g -o test.o -c test.c.
au départ je n'avais pas gcc donc normal que ça bugg, mais maintenant c'est le "wall" qu'il ne reconnait pas.
d'autre part il ne trouve pas mon fichier test que je suis certain d'avoir enregistré en .c
Hors ligne
#18 Le 27/11/2006, à 21:11
- abetsic
Re : langage C [résolu]
essayes avec -Wall
ps : pour ce genre de choses tu peux regarder la page de man de gcc.
Dernière modification par abetsic (Le 27/11/2006, à 21:12)
Hors ligne
#19 Le 27/11/2006, à 21:18
- [BZH]kamikaze
Re : langage C [résolu]
oué merci pour l'astuce, c'était bien la majuscule qui faisait qu'il ne reconnaisait pas le "wall".
sinon j'ai toujours le meme problème, il me dit que test n'existe pas alors qu'il est bel est bien enregistré dans mon répertoire:/
Hors ligne
#20 Le 27/11/2006, à 23:08
- ffomnislash
Hors ligne
#21 Le 27/11/2006, à 23:14
- abetsic
Re : langage C [résolu]
étant donné que "test" est déjà une commande unix, il n'est pas conseillé d'aller créer un executable qu'on va appeller test, d'autant plus si . est dans ton path.
Hors ligne
#22 Le 28/11/2006, à 00:11
- Ubitux
Re : langage C [résolu]
"foo" c'est mieux... en plus çà fait plus bilingual 1337
foo = bidule, machin, truc en anglais
Windows, c'est comme la cigarette : on paye cher pour se faire beaucoup de mal...
Hors ligne
#23 Le 28/11/2006, à 00:32
- [BZH]kamikaze
Re : langage C [résolu]
ok, merci du conseil.
sinon on vient de me conseiller anjuta,
j'essayerais ça voir si c'est bien:)
Hors ligne
#24 Le 28/11/2006, à 02:38
- Ubitux
Re : langage C [résolu]
Si tu t'interresses au C, à Linux, à la compilation, que tu comptes faire de gros projets, que tu comptes progresser, que tu as du temps (beaucoup de conditions donc) je te conseille ce lien :
http://docs.mandragor.org/files/Misc/GLFM/lm24/configure_make_make_install.html
Bookmark le pour plus tard peut-être. En tout cas tu devras passer par là si tu fais de gros projets.
Windows, c'est comme la cigarette : on paye cher pour se faire beaucoup de mal...
Hors ligne
#25 Le 08/12/2006, à 16:12
- Spartan117
Re : langage C [résolu]
okay c'est bon j'ai réussi à compiler
Hors ligne
Pages : 1