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

 


Dernière réponse
Sujet : (Programmes C) comment exécuter un code compilé sous Linux console ?
matafan 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

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
matafan 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
Aricoh 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
karlkox 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).
Krueger On peut aussi rajouter '.' dans la variable PATH si 'a.out' tout court ne marche pas:
PATH="$PATH:."
 
(Heu syntaxe à vérifier :p)
matafan 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).
Aricoh 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
Toxin 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.
Aricoh et ça me fait ça, que je sois loggé en root comme en user
Aricoh 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 ! :)
verdoux euh, ./a.out ?
Toxin ????? Il met quoi comme message d'erreur ????
Aricoh 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 ?

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