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 22/11/2006, à 13:26

Spartan117

langage C [résolu]

salut tout le monde big_smile ,
ma question va vous paraître stupide tongue 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 big_smile

Dernière modification par Spartan117 (Le 08/12/2006, à 16:13)

Hors ligne

#2 Le 22/11/2006, à 13:30

ffomnislash

Re : langage C [résolu]

il faut utiliser gcc


-- Mon blog --

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 big_smile

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 neutral ç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 big_smile

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 big_smile c'est bon ça marche big_smile
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é? wink

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 smile

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
smile

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

Re : langage C [résolu]

gcc -wall -g -o test -c test.c


-- Mon blog --

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 big_smile

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 big_smile

Hors ligne