ホームページ > バックエンド開発 > C++ > 異なるプラットフォーム間で実行可能ファイルのパスを確実に取得するにはどうすればよいですか?

異なるプラットフォーム間で実行可能ファイルのパスを確実に取得するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-03 01:50:39
オリジナル
554 人が閲覧しました

How Can I Reliably Retrieve the Executable Path Across Different Platforms?

実行可能パスのクロスプラットフォーム取得

実行可能パスのプラットフォームに依存しない取得を実現することは、これまで困難であることが判明していました。以前の問い合わせにも関わらず、決定的な解決策や明確な「不可能」という結論にはまだ達していません。

プラットフォーム固有のソリューション

普遍的な解決策は依然として見つかりにくいままですが、プラットフォーム- 固有のアプローチが存在します:

  • Linux: std::filesystem::canonical 関数または readlink 関数への入力として「/proc/self/exe」を使用します。
  • Windows: モジュール ハンドル パラメーターとして NULL を GetModuleFileName に渡します。

オーガとベリーSleepy:

Very Sleepy によってプロファイルされる Ogre ゲームの特定のケースでは、構成ファイルへの絶対パスを Very Sleepy に渡すことができます。これにより、ゲームは作業ディレクトリに関係なくファイルを見つけることができます。

Visual Studio デバッグ:

Visual Studio で作業ディレクトリを設定せずに実行可能ファイルを実行するには、$ を使用します。 (TargetPath) を指定し、GetModuleFileName に NULL を渡します。

追加注:

他のアプローチは特定のシステムで動作する可能性がありますが、移植できない可能性があります。実稼働環境でソリューションに依存する前に、ソリューションを徹底的にテストすることをお勧めします。

以上が異なるプラットフォーム間で実行可能ファイルのパスを確実に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート