[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux] Re: [Fwd: dev C++ path]
Hello !
On Sun, Jan 06, 2002 at 08:00:21PM +0100, Silvestre Thomas wrote:
[.../...]
> je suis en train d'écrire un programme, et celui-ci doit charger des
> images qui se trouvent dans le même répertoire que l'exécutable.
>
> Si je le lance manuellement dans une console, pas de problèmes, par
> contre si je clique dessus pour l'exécuter dans Konqueror (par ex.), là
> les images ne se chargent pas. Ce qui est logique car c'est
> /brol/monbinaire qui est exécuté et non ./monbinaire.
>
> Ma question est simple : "Comment fait-on pour récupérer le chemin
> complet de l'exécutable?"
IIRC, cela est impossible à faire sous UN*X. Il existe toutefois un
certain nombre de solutions qui peuvent être combinées :
- Hardcoder le chemin d'installation dans le binaire ;
- Examiner argv [0], et essayer d'en déduire l'emplacement actuel du
package ;
- Demander à l'utilisateur de positionner une variable d'environnement.
La solution « idéale » serait de tester successivement les trois
solutions dans l'ordre : variable d'environnement, chemin d'installation
hardcodé, et enfin argv [0] en s'arrêtant dès que le chemin est trouvé.
Cette complexité est due à la flexibilité offerte par les liens
(hard / soft), et l'appel système exec ().
> Merci d'avance...
[.../...]
Cu,
Dash.
--
[It is] best to confuse only one issue at a time.
-- Kernighan & Ritchie
--
Damien Diederen
dash@linuxbe.org
http://users.swing.be/diederen/
[ Soyez précis dans vos sujets svp afin de déterminer directement ]
[ le type de demande... ]
[ Pour vous (dés)inscrire, aller sur http://unixtech.be/ml.php ]
[ Archives de la mailing list: http://archives.unixtech.be/linux/ ]
[ http://unixtech.be Contact: listmaster@unixtech.be ]