Maison > développement back-end > C++ > Comment puis-je obtenir le chemin de l'exécutable sur plusieurs plates-formes ?

Comment puis-je obtenir le chemin de l'exécutable sur plusieurs plates-formes ?

DDD
Libérer: 2024-12-29 15:08:11
original
794 Les gens l'ont consulté

How Can I Get the Executable's Path Cross-Platform?

Obtention du chemin de l'exécutable de manière multiplateforme

Trouver une solution multiplateforme pour récupérer le chemin de l'exécutable actuel peut être un défi à multiples facettes .

Malgré les hypothèses initiales, boost::filesystem::initial_path uniquement aborde l'aspect indépendant de la plate-forme, et non le chemin à partir duquel l'exécutable a été invoqué.

Malheureusement, il n'existe pas de solution universelle sur toutes les plates-formes. Cependant, des approches spécifiques peuvent être utilisées en fonction du système d'exploitation sous-jacent :

Linux :

  • Utiliser std::filesystem::canonical avec "/proc/ self/exe" comme argument.
  • Vous pouvez également utiliser readlink() pour obtenir le même résultat. résultat.

Windows :

  • Passez une valeur NULL comme handle de module à la fonction GetModuleFileName. Cela devrait fournir le chemin absolu vers l'exécutable.

En tirant parti de ces méthodes spécifiques à la plate-forme, vous pouvez récupérer les informations de chemin nécessaires pour des applications telles que Very Sleepy et Visual Studio, garantissant ainsi une configuration et une fonctionnalité de débogage appropriées. .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal