Programmation en c sous linux

Fermé
pythagore1 Messages postés 25 Date d'inscription samedi 6 septembre 2008 Statut Membre Dernière intervention 2 novembre 2008 - 31 oct. 2008 à 23:55
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 nov. 2008 à 13:09
Bonjour,
je suis totalement debutant en linux, je veux commencer la programmation c mais le bemol c'est ke je ne sais pas installer un compilateur gcc ni meme l'editeur vim comment dois proceder pour installer ces outils pas à pas jusqu'à l'écriture du premier programme pour tester.
Merci d'avance pour votre aide.
A voir également:

10 réponses

dmganges Messages postés 150 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 25 novembre 2013 19
3 nov. 2008 à 10:47
Bjr,

bon on y va tout doux :

D'abord il te faut avoir gcc et éventuellement make
Donc pour installer gcc, puisque tu es sous Mandriva il te faut utiliser le programme urpmi qui fait les installations des paquets en vérifiant que les dépendances sont respectées.

si quand tu tapes :
gcc

- tu as qqchose comme réponse "command not found" c'est que gcc n'est pas installé
- tu as "gcc: pas de fichier à l'entrée" c'est que gcc est installé mais que tu n'as pas donné quel fichier tu voulais compiler.


>>si je comprends bien je dois d'abord ecrire mon programme dans un éditeur de texte et ensuite l'enregistrer sous hello.c

Oui c'est exactement çà !


>>puis j'utilise ma console avec cat pour creer mon repertoire.
NON rien à voir , la commande cat sert uniquement à visualier le contenu d'un fichier
Donc ici cat hello.c ne fait qu'afficher le contenu du fichier que tu as entré avec ton éditeur de texte.

Tu n'as aucun répertoire à créer dans un premier temps.
Dans le répertoire dans lequel tu as hello.c
si tu fais :
gcc -o hello hello.c

le compilateur gcc créera le fichier hello
tu pourras vérifier en tapant la commande ll, comme çà

ll
total 24
-rwxr-xr-x 1 dmganges dmganges 6663 2008-11-02 05:25 hello*
-rw-r--r-- 1 dmganges dmganges 58 2007-03-05 10:26 hello.c


Pour pouvoir lancer le fichier hello, il te faudra modifier ses droits avec la commande chmod, de cette façon :

chmod u+x hello

Ensuite tu pourra faire :
./hello

et là VICTOIRE il s'exécutera.

Tiens regarde ici un peu les commandes :
http://jp.barralis.com/linux-man/
1
Kharec Messages postés 4146 Date d'inscription dimanche 20 avril 2008 Statut Contributeur Dernière intervention 8 mai 2011 510
3 nov. 2008 à 11:17
Très bonne explication, très complète. +1
0
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
3 nov. 2008 à 11:25
Salut,

tu pourras vérifier en tapant la commande ll, comme çà
Il me semble que ll n'est qu'un alias pour la commande ls avec l'option -l
ls -l
--
106485010510997108
0
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
3 nov. 2008 à 11:27
Re,

-rwxr-xr-x 1 dmganges dmganges 6663 2008-11-02 05:25 hello*
-rw-r--r-- 1 dmganges dmganges 58 2007-03-05 10:26 hello.c


Pour pouvoir lancer le fichier hello, il te faudra modifier ses droits avec la commande chmod, de cette façon :

chmod u+x hello


Selon le résultat du ll on voit bien que hello a déjà les droits d'exécution positionnnés après la compilation, ce qui rends superflue la commande chmod.
0
Franzux Messages postés 8907 Date d'inscription mercredi 5 décembre 2007 Statut Contributeur Dernière intervention 27 octobre 2015 1 145
1 nov. 2008 à 00:05
Sur quelle distribution Linux comptes-tu travailler ?
0
pythagore1 Messages postés 25 Date d'inscription samedi 6 septembre 2008 Statut Membre Dernière intervention 2 novembre 2008
1 nov. 2008 à 22:59
Je compte travailller sur la mandriva
0
dmganges Messages postés 150 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 25 novembre 2013 19
2 nov. 2008 à 05:33
Bjr,

dans une console sous root tu tapes :

urpmi gcc

urpmi make

Il te demandera d'insérer le CD/DVD de Mandriva

# cat hello.c
#include <stdio.h>
main()
{
printf("Hello, Doudou\n");
}


gcc -o hello hello.c

# ./hello
Hello, Doudou


make te sera utile un peu plus tard...

Bon dimanche avec gcc :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pythagore1 Messages postés 25 Date d'inscription samedi 6 septembre 2008 Statut Membre Dernière intervention 2 novembre 2008
2 nov. 2008 à 21:26
merci dmganges si je comprends bien je dois d'abord ecrire mon programme dans un éditeur de texte et ensuite l'enregistrer sous hello.c puis j'utilise ma console avec cat pour creer mon repertoire.
0
Kharec Messages postés 4146 Date d'inscription dimanche 20 avril 2008 Statut Contributeur Dernière intervention 8 mai 2011 510
3 nov. 2008 à 10:33
Ce n'était qu'un exemble. Mais en théorie, tu dois créer ton fichier (je te conseille Vi, mon préféré) de la manière suivante.

vi tonfichier.c

En te plaçant dans le dossier ou tu désires le mettre, ou alors faire, à partir de n'importe quel dossier vi /home/toi/fichier.c (on appelle ça le chemin absolu)

Ecris le, sauvegarde le, et fais :

gcc tonfichier.c

Ce qui donnera un a.out qui sera le fichier binaire. Tu n'auras qu'à le renommer =) (Tu le renommeras ensuite =)

Sur mandriva, gcc est installé de base ;-)
0
muaddibx Messages postés 76 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 12 juin 2009 1
3 nov. 2008 à 09:36
Salut,

Tu travailles sur quelle distribution linux?
0
dmganges Messages postés 150 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 25 novembre 2013 19
3 nov. 2008 à 12:38
Pardon Kharec nos réponses se sont croisées, et MERCI pour ton +1

Merci pour la correction lami20j effectivement mon "ll" est un alias depuis le temps qu'il est en place j'avais oublié la vraie commande :
ls -l

Par contre mon ll est le résultat après le chmod que j'ai dû faire car après la compil le résultat n'est pas exécutable. Je devrais avoir honte car en fait, j'ai fait :
chmod +x hello d'où le 755.

Bon pythagore1, tu vois tout le monde languis que tu nous dises que ton premier programme en C fonctionne !!!

VITE qu'on fasse +1 sur le compteur des accros au C !!!
0
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
3 nov. 2008 à 12:48
Salut,

ll est le résultat après le chmod
Ok ;-))

Toutefois, si ça ne te dérange pas, veux tu m'afficher le résultat de
gcc -o hello1 hello.c && ls -l hello1 
?
Merci.
0
dmganges Messages postés 150 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 25 novembre 2013 19
3 nov. 2008 à 12:54
Autant pour moi, comme on dit :

-rwxr-xr-x 1 dmganges dmganges 6663 2008-11-03 12:49 hello1

et SANS chmod

A ces neurones qui n'en font qu'a leur tête
:)))
MERCI
0
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
3 nov. 2008 à 13:01
Re,

Ce que t'as dit, qu'il faut rendre le fichier exécutable, n'est pas faux, au contraire.
D'ailleurs mieux vaut le faire deux fois que pas de tout ;-)

Je suppose que tu as regardé les droits seulement après l'exécution de chmod tout en sachant qu'un fichier pour être lancer il faut les droits necessaires.
Je suis un peu plus curieux et je regarde aussi avant. Ca me permets de comprendre certains comportements des logiciels.

Ce n'est pas une erreur, d'ailleurs j'ai dit que dans ce cas c'est superflue mais je n'ai pas dit que c'est incorrecte ;-)

Bonne continuation.
;-)))
0
dmganges Messages postés 150 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 25 novembre 2013 19
3 nov. 2008 à 13:06
C'est plus virulent que cela,
en fait je suis allé dans un vieux répertoire pour puiser un exemple pour notre amis, et j'ai dit une ânerie (SI SI j'y tiens) gcc génère un EXECUTABLE

vois la date du .c

@+
0
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
3 nov. 2008 à 13:09
Re,

Ce que t'as dit, qu'il faut rendre le fichier exécutable, n'est pas faux, au contraire.
Ici je parlais dans le cas général ;-)
Pour le gcc je le sais ;-)), c'est pour ça que je suis intervenu ;-))
0