Page 2 sur 2

Re: Executer un fichier en ligne de commande?

Publié : 29 juillet 2014, 14:13
par polygae
Rebonjour tout le monde désolé je n'arrivais plus à me connecter

La procédure?
disons
* gedit : programme hello world "hello.c"
* terminal: gcc _o hello hello.c
* terminal: ./hello ==> BUG
* mv hello hello.exe ; ./hello.exe ===> OK

On m'a dit que peut-être c'était des "paramètres étendus" installés par défaut sur ma CentOS...
J'ai pas eu le temps de creuser mais c'est probablement une piste

Et pour les droits merci, oui j'avais compris que c'était aussi sur la partition, en faisant la commande euh... ifstables ou du genre!! Mais pas de souci de ce côté là

Re: Executer un fichier en ligne de commande?

Publié : 29 juillet 2014, 22:33
par nouvo09
A tout hasard, tu as pas fait ca sous wine ou virtualbox/windows ?

Re: Executer un fichier en ligne de commande?

Publié : 30 juillet 2014, 09:46
par Arrfab
polygae a écrit :Rebonjour tout le monde désolé je n'arrivais plus à me connecter

La procédure?
disons
* gedit : programme hello world "hello.c"
* terminal: gcc _o hello hello.c
* terminal: ./hello ==> BUG
* mv hello hello.exe ; ./hello.exe ===> OK
Je ne vois pas non plus le résultat de la commande "file ./hello"

Re: Executer un fichier en ligne de commande?

Publié : 30 juillet 2014, 10:35
par polygae
Bonjour,
Voici le code:

Code : Tout sélectionner

#include <stdio.h>
int main()
{
	printf("hello\n");
}
et voici le résultat du terminal:

Code : Tout sélectionner

$ gcc -o hello hello.c
$ ./hello
bash: ./hello: Permission non accordée
$ file ./hello
./hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0xe0190bf6e7840cd37c121eedb4b77e8e5dad10b0, not stripped
$ gcc -o hello.exe hello.c
$ ./hello.exe
hello
$ file ./hello.exe
./hello.exe: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0xe0190bf6e7840cd37c121eedb4b77e8e5dad10b0, not stripped
$ mv hello hello.exe
$ ./hello.exe
bash: ./hello.exe: Permission non accordée
$
Une remarque: je m'étais trompé, comme apparent dans les deux dernières commandes, renommer simplement le fichier hello en hello.exe n'a pas fonctionné (avec mv) il semble que c'est une option à donner au COMPILATEUR (il faut lui demander de compiler en un .exe)

ça va déjà mieux! :)

Et euh non ce n'était pas sous Wine ou autre!

Re: Executer un fichier en ligne de commande?

Publié : 30 juillet 2014, 11:42
par nouvo09
et au lieu de renommer, si tu faisais juste après la compilation un

chmod +x hello ?

Re: Executer un fichier en ligne de commande?

Publié : 30 juillet 2014, 12:57
par polygae
le chmod +x ne change rien :!:

Re: Executer un fichier en ligne de commande?

Publié : 03 août 2014, 21:42
par Valdes
What is the flûte ?

Chez moi :

Code : Tout sélectionner

$ gcc -o hello hello.c 
$ ./hello 
hello
$ file hello
hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped
$ ls -alh | grep hello
-rwxrwxr-x 1 val  val  6.3K Aug  3 21:33 hello
-rw-rw-r-- 1 val  val    56 Aug  3 21:32 hello.c
T'aurais pas des droits étranges sur ton dossier courant ?

Re: Executer un fichier en ligne de commande?

Publié : 21 août 2014, 14:32
par polygae
Ben... je sais pas trop!... :?:

:)