Nous sommes le Sam 20 Avr, 2024 01:46
Supprimer les cookies

Page 2 sur 2Précédent 1, 2[réglé] Ubuntu et gcc

Le choix d'Ubuntu pour mes premiers pas Linux

Mer 11 Juin, 2008 19:34

Mikelenain a écrit:est-ce qu'il n'y a pas de problèmes avec la sortie ?
Je ne vois pas pourquoi il y aurait problème (ubuntu ?). En remplaçant par printf ?
Téthis

Avatar de l’utilisateur
Messages : 3895
Géo : De passage chez les cathares

Mer 11 Juin, 2008 19:56

c'est ce que j'ai essayé au début

edit : l'erreur a été trouvé par un pote d'un autre forum.
lorsque je lançais mon programme, je faisais test à la console. ça ne sortait rien.
en faisant ./test ça marche... bizarre, j'étais pourtant dans le répertoire contenant le binaire
Une ch'tio peu d'pub :http://www.ina-ich.net/

"L'ignorance n'est pas ne pas connaître, c'est ne pas vouloir connaître."
Ubuntu 11.10 | LibreOffice | GnuPlot | PidGin | irssi | suite Mozilla | VLC ...
Mikelenain

Avatar de l’utilisateur
Messages : 3651
Géo : Lyon

Mer 11 Juin, 2008 23:58

c'est tout à fait logique qu'il n'affichait rien. J'explique. En fait, sous GNU/Linux, les répertoires contennant les programmes qui sont exécutables par l'utilisateur sont dans la variable PATH. On peut afficher cette variable :
Code: Tout sélectionner
timas@genbox ~ $ echo $PATH
/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.3.1:/opt/sun-jdk-1.4.2.17/bin:/opt/sun-jdk-1.4.2.17/jre/bin:/opt/sun-jdk-1.4.2.17/jre/javaws:/usr/qt/3/bin:/usr/games/bin

Or il existe un programme fourni avec la suite d'utilitaires coreutils (fourni avec tout système GNU/*) qui se nomme "test". Dont le but est de tester des expressions, etc
On peut le localiser en utilisant la commande "whereis"
Code: Tout sélectionner
timas@genbox ~ $ whereis test
test: /usr/bin/test /usr/share/man/man1p/test.1p.bz2 /usr/share/man/man1/test.1.bz2


On constate que "test" se trouve dans /usr/bin qui est bien défini dans la variable PATH.
Lorsque vous lancez un programme en ligne de commande, le système le cherche dans les répertoires spécifiés dans la variable PATH. Il exécute la première correspondance et s'il n'y a pas de correspondance, un message d'erreur s'affiche indiquant : "command not found".
Cela étant éclairci, voilà ce qui s'est passé : le système a trouvé ce programme test , qui n'affiche rien à l'écran, mais retourne la valeur de l'expression à tester.

Si vous voulez lancez un programme qui n'est pas dans un des répertoires du path (ou s'il y a plusieurs programmes qui portent le même nom dans le PATH), il faut spécifier le chemin complet vers le programme. Et c'est ce que vous avez fait en entrant : ./test

. étant le répertoire courant de travail (dans lequel se trouvait à ce moment là le petit programme que vous avez écrit).

Note: en général, le répertoire courant n'est pas dans la variable PATH. Bien que l'on puisse modifier ce comportement.


C'est pour cela que la seconde commande était la bonne ;)
If it's not broken, don't fix it.
timas

Messages : 62
Géo : /home (Belgique)

Ven 29 Août, 2008 21:36

c'est bon, c'est réglé, merci :)
Une ch'tio peu d'pub :http://www.ina-ich.net/

"L'ignorance n'est pas ne pas connaître, c'est ne pas vouloir connaître."
Ubuntu 11.10 | LibreOffice | GnuPlot | PidGin | irssi | suite Mozilla | VLC ...
Mikelenain

Avatar de l’utilisateur
Messages : 3651
Géo : Lyon

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit