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

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

Barbara Streisand
リリース: 2024-12-23 14:38:10
オリジナル
464 人が閲覧しました

How Can I Reliably Determine the Path of the Currently Running Executable Across Different Platforms?

実行可能ファイルのパスの決定

現在実行中の実行可能ファイルへのパスを取得することは、特にクロスプラットフォーム ソリューションを求める場合には困難になることがあります。これまでの議論では普遍的に満足のいく答えが得られませんでしたが、可能性のあるアプローチを検討するためにこのトピックを再検討する価値があります。

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

  • Linux: Linux システムの場合は、「/proc/self/exe」を std::filesystem::canonical または readlink とともに使用して絶対パスを取得できます。
  • Windows: Windows では、NULL モジュール ハンドルを指定して GetModuleFileName を呼び出すと、実行可能ファイルのパスが取得されます。

クロスプラットフォームの制限事項:

残念ながら、クロスプラットフォームでこれを判断する方法は知られていません。実行可能ファイルのパスを決定します。これは、オペレーティング システムによって実行可能ファイルの呼び出しと実行時の動作が処理される方法が異なるためです。したがって、上記のプラットフォーム固有のソリューションは、最も信頼性が高く、広く適用可能なアプローチを提供します。

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

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