Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1360 connectés 

  FORUM HardWare.fr
  Programmation

  (Programmes C) comment exécuter un code compilé sous Linux console ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

(Programmes C) comment exécuter un code compilé sous Linux console ?

n°17525
Aricoh
gentil mais fo po pousser
Posté le 07-03-2001 à 15:52:53  profilanswer
 

Juste pour savoir ...
 
Lorsque je suis sous X, j'ouvre une console, je compile mon petit code .c et ça génère un fichier de sortie a.out (par défaut)
 
Pour exécuter ce fichier, je tape juste a.out et c'est parti mon kiki
 
Mais la manip ne fonctionne pas si je ne suis plus sous environnement graphique, juste en mode texte. La compilation fonctionne toujours mais le fichier compilé ne se lance plus (a.out)
 
Comment faire ? J'ai essayé via la commande exec, j'arrive à lancer le prog' mais une fois sorti, je me fais éjecter de ma connexion et me retrouve avec le log où je tape mon password de connexion (root ou user)
 
Keskeujeufékinépabon ?

mood
Publicité
Posté le 07-03-2001 à 15:52:53  profilanswer
 

n°17530
Toxin
Carpe ★★ Vitam
Posté le 07-03-2001 à 16:16:57  profilanswer
 

????? Il met quoi comme message d'erreur ????


---------------
"If you can walk away from a landing, it's a good landing. If you use the airplane the next day, it's an outstanding landing." - Chuck Yeager. | Chaîne YT | Photos
n°17532
verdoux
And I'm still waiting
Posté le 07-03-2001 à 16:18:21  profilanswer
 

euh, ./a.out ?

n°17596
Aricoh
gentil mais fo po pousser
Posté le 08-03-2001 à 08:32:42  profilanswer
 

Exemple concret :
 
Admettons que je veuille lancer le programme compilé a.out qui se trouve en /home/user1/progs/.
 
Si je suis dans le même dossier que le fichier, taper "exec a.out" ne marche pas, j'ai une réponse du shell du style bad command ou un truc sacom
 
Pour que ça marche, je tape "exec /home/user1/progs/a.out". Là, le programme s'exécute mais dès que j'en sors, je me fais éjecter comme un malpropre de la session et je n'ai plus qu'à retaper mon login et mon pass pour relancer une console.
 
Cela dit, telle la brêle de base, j'avais aussi essayé le .a.out, je me souvenais plus du slash ...
 
Je teste ça ce soir, merci Verdoux ! :)

n°17597
Aricoh
gentil mais fo po pousser
Posté le 08-03-2001 à 08:34:20  profilanswer
 

et ça me fait ça, que je sois loggé en root comme en user

n°17634
Toxin
Carpe ★★ Vitam
Posté le 08-03-2001 à 11:25:51  profilanswer
 

le coup de la fenêtre qui se shunte avec le exec c'est tout à fait normal le processus du shell se fait recouvrir et à la fin de ton prog, le process se termine -> la fenêtre se ferme.


---------------
"If you can walk away from a landing, it's a good landing. If you use the airplane the next day, it's an outstanding landing." - Chuck Yeager. | Chaîne YT | Photos
n°17643
Aricoh
gentil mais fo po pousser
Posté le 08-03-2001 à 12:02:08  profilanswer
 

Merci Toxin, je comprend mieux alors pourquoi je me fais jeter comme une globule alors !!! :p
 
Je vais repasser en mode texte illico, j'apprenais justement à me servir de vi en mode texte uniquement, j'avais été déçu de ne pas pouvoir exécuter mes codes compilés comme je le voulais, c'est cool

n°17697
matafan
Posté le 08-03-2001 à 15:38:54  profilanswer
 

Peut-être que tu as déja compris, mais il suffit de taper "a.out" si a.out est dans ton path, sinon c'est <chemin>/a.out (ce qui inclut le cas "./a.out" si tu es dans le répertoire de a.out).

n°17751
Krueger
tout salaire demande dutravail
Posté le 08-03-2001 à 19:28:18  profilanswer
 

On peut aussi rajouter '.' dans la variable PATH si 'a.out' tout court ne marche pas:
PATH="$PATH:."
 
(Heu syntaxe à vérifier :p)


---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
n°17784
karlkox
Posté le 09-03-2001 à 04:08:12  profilanswer
 

a.out ... pour moi c'est l'ancien systeme de compilation de fichier en binaire. Aujourd'hui, TOUT les programmes sont compilés en ELF. Matte ca dans ton kernel parce que je trouve pas ca normal qu'on te compile un a.out (de nos jours).

mood
Publicité
Posté le 09-03-2001 à 04:08:12  profilanswer
 

n°17786
Aricoh
gentil mais fo po pousser
Posté le 09-03-2001 à 08:29:08  profilanswer
 

Ben je sais po
 
j'ai utilisé gcc pour la compilation sur 2 distros : Debian 2.2 et Mandrake 7.0.2
 
à chaque fois, ça me génère un a.out en sortie

n°17808
matafan
Posté le 09-03-2001 à 11:20:47  profilanswer
 

Même si le fichier s'appelle a.out, c'est bien un fichier ELF. Tu peux t'en convaincre en faisant un "file a.out".
 
Si tu ne veux pas qu'il s'appelle a.out, tu peux spécifier un nom de fichier avec l'option "-o" : gcc essai.c -o essai


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  (Programmes C) comment exécuter un code compilé sous Linux console ?

 

Sujets relatifs
[C & kernel linux] Programmation de sémaphores[ASP] Optimisation du code
requete snmp en c(linux)[Javacsript] Besoin de code...
optimisation du code: quel est le principe ?comment exécuter un exécutable !!!
[TP7] Procédure pour lire et exécuter un fichier son (.wav)Question à un pro en systeme Linux?
Comparer 3 nombres avec le - de lignes de codePb installation PHP/Apache sous Linux
Plus de sujets relatifs à : (Programmes C) comment exécuter un code compilé sous Linux console ?


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)