Rechercher : dans
Par :

[programme c] comment exécuter un programme c

Dernière réponse le 17 mai 2009 à 23:21:34 LUQMAN, le 12 fév 2006 à 15:27:42 
 Signaler ce message aux modérateurs

Bonjour je suis un débutant sur linux et j aimerais savoir comment on peut exécuter un programme c après l avoir taper et compiler?
Merci d avance à tous ceux ki m aideront dans mon apprentissage

Configuration: linux mandrake 10.1

Meilleures réponses pour « [programme c] comment exécuter un programme c » dans :
Désactiver l'exécution de certains programmes au démarrage VoirDésactiver l'exécution de certains programmes au démarrage - Windows 98/Me/2000/XP/Vista Avec msconfig Avec WinPatrol Avec Startuplite Avec CCleaner Remarques Lorsque vous installez des logiciels, certains s'exécutent à chaque...
La compilation et les modules en C et en C++ VoirCet article a pour vocation d'introduire les notions de bases de la compilation en C et en C++ et de la programmation modulaire. Il permet de mieux comprendre les messages d'erreur du compilateur. Les notions abordées ici sont indépendantes du...
Compiler un programme en C avec Dev C++ sous Vista VoirIl est très probable que vous ayez des problèmes lors de la compilation d'une source C sous Vista avec Dev C++. Solution rapide de secours: le compilateur g++ Voici une astuce pour Dev-Cpp : Aller dans "Outils" -> "Options du compilateur" puis...
Langage C - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage C sont typées, c'est-à-dire que les données contenues dans...
Langage C - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs parties du...
Langage C++ - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs parties du...

1

lami20j, le 12 fév 2006 à 15:37:07
  • +1

Après compilation tu as obtenu un fichier exécutable, disons qu'il s'appelle fichier.

Dans la console tu tape
/chemin/vers/fichier

Répondre à lami20j

2

mamiemando, le 12 fév 2006 à 15:50:36
  • +1

Petites précision : à la compilation tu tapes une commandes du genre

gcc -o plop.exe plop.c 

A priori gcc est intelligent et met les droits en execution sur plop.exe, mais sinon il faudrait les rajouter en tapant :
chmod +x plop.exe
Pour exécuter un programme sois tu tape le chemin complet comme le suggère lami20j, par exemple :
/home/toto/plop.exe

... sois tu es déjà dans le bon répertoire et tu peux te contenter de taper :
./plop.exe

Bonne chance

Répondre à mamiemando

6

RackNiak, le 11 jun 2008 à 12:38:52
  • +1

.exe sa existe pas en Linux :p mais sinon sa fonctione pareille ;)

et ne pas oublié de mettre des droit d'éxécution si tu as un permition denied:


chmod u+x /chemin/prog

x = execution

u= user
g= group
o = autre
a = tous le monde

+ signifie ajouter les droits
- supprimer les droits



tu peu aussi avoir:

w = droi d'ecriture
r = droit de lecture

c'est une petit information complémentaire toujour utile a connaitre :p

Répondre à RackNiak

7

lami20j, le 11 jun 2008 à 13:17:01

Salut,

.exe sa existe pas en Linux :p mais sinon sa fonctione pareille ;)
Pour l'info complémentaire toujour utile a connaitre :p ;-))

en fait, sous Linux il n'y pas besoin d'une extension.
on l'utilise tout simplement par convention, ce qui permettra de reconnaître le type de fichier
si l'extension manque la commande file permet de savoir le type de fichier et ensuite de trouver une application associée ;-)

Dans la commande que Miss a donnée gcc -o plop.exe plop.c l'appellation .exe et juste une convention.
Elle n'a jamais affirmé que .exe existe sous Linux ;-)

Si un .exe sous Windows veut dire qu'il s'agit d'un fichier exécutable, sous Linux ce n'est qu'une convention et ce sont les droits qui specifient si le fichier est ou pas exécutable.



106485010510997108

Répondre à lami20j

8

mamiemando, le 11 jun 2008 à 16:30:38
  • +1

Effectivement ton exécutable tu lui mets une extension ou non, c'est comme tu veux. Typiquement les commandes unix usuelles (cd, ls ...) n'en ont pas sous les linux classiques. Cependant si tu installes cygwin, tu verras que les commandes de base ont cette extension (ls.exe etc...). Bref tu fais vraiment comme tu veux.

En général dans mes messages je mets cette extension afin que le lecteur comprenne bien qu'on génère l'exécutable.

D'un point de vue strictement informatique une extension ne sert à rien hormis associer un fichier à la bonne application. Si tu veux nommer un image.jpg en image.exe et l'ouvrir avec un logiciel permettant de visualiser une image ça ne pose aucun problème par exemple. C'est juste que c'est un choix pour le moins bizarre ^^

Répondre à mamiemando

9

RackNiak, le 11 jun 2008 à 17:32:16
  • +2

C'est vrai que d'un coter le .exe pour les lecteur, surtout si il demande, Mais ou est le .exe x) il ne vat pas forcement comprendre que suffi juste de ./fichier pour le lancé

Répondre à RackNiak

10

mamiemando, le 11 jun 2008 à 18:01:27
  • +1

C'est pourtant explicitement dit dans <2>.

Répondre à mamiemando

11

lami20j, le 11 jun 2008 à 19:46:03
  • +1

Mais ou est le .exe x) il ne vat pas forcement comprendre que suffi juste de ./fichier pour le lancé

Alors, tu t'acharnes sur ce .exe ;-)
L'exécutable pouvait s'appelé .blabla , ce n'est qu'une convention.

Que ça soir ./fichier ou ./fichier.exe ou ./fichier.blabla ce n'est pas grave, ce n'est qu'un nom du fichier ;-)

Et pour comprendre comment on exécute une commande sous Linux, il y a ça 106485010510997108

Répondre à lami20j

12

RackNiak, le 11 jun 2008 à 20:00:31
  • +1

Lool je m'acharne pas, c'est toi qui n'as pas compris le sens de ma phrase:p c'est pas grave ;) je ten veus pas ^^

Répondre à RackNiak

13

lami20j, le 11 jun 2008 à 20:03:18

Si tu le dis ;-) 106485010510997108

Répondre à lami20j

14

RackNiak, le 11 jun 2008 à 20:06:41

Lol et tu y remet une reponce, ha non merde la c'est moi :(

Répondre à RackNiak

3

lami20j, le 12 fév 2006 à 16:03:58
  • +1

Encore un posibilité c'est de créer un répertoire bin dans /home/luqman et d'y mettre les fichiers exécutable dans /home/luqman/bin

Normalement dans mandrake 10.1 /home/luqman/bin c'est un chemin qui se trouve dans la variable PATH ( voir la commande echo $PATH qui t'affichera les répertoires separés par :) mais le repertoire /home/luqman/bin faut le créer.

mkdir /home/luqman/bin

gcc -o /home/luqman/bin/plop.exe /home/luqman/source_C/plop.c


Et maintenant tu peux exécuter directement

plop.exe

Petite définition - Variable PATH



Une variable importante de l'environnement est la variable PATH qui se présente sous la forme d'une liste de répertoires séparés par le caractère deux-points (':'). Ces répertoires sont parcourus pour rechercher les commandes. Si vous essayez de lancer la commande bidule, tous les répertoires contenus dans PATH seront examinés (dans l'ordre), à la recherche de l'exécutable bidule (un fichier avec le bit exécutable positionné). Si un tel fichier est trouvé, il sera exécuté.

Répondre à lami20j

4

ENSAWI, le 5 déc 2007 à 11:27:34

Merci

Répondre à ENSAWI

15

jimbaiky, le 17 mai 2009 à 21:11:00

Daccord, mais moi j'ai écrit mon progamme en C sur wordet je c'est pas l'éxécuter.
Pourraiez-vous mais svp, et voia mon programme:

#include <blabla>

/* blablabla*/
#include <blabla>

int main (blabla)
{
puts("Hello world" );

/* blablabla */
system ("pause" );

return 0;
}

Répondre à jimbaiky

16

 mamiemando, le 17 mai 2009 à 23:21:34

Outre le fait que ta question est hors sujet et devrait être postée dans le forum programmation, c'est un point qui est largement détaillée dans plusieurs fiches de la faq notamment ici :
http://www.commentcamarche.net/faq/sujet 14440 la compilation et les modules en c et en c#sous windows

Bonne chance

Répondre à mamiemando