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

C/C 実行可能ファイルのフルパスを取得するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-16 21:13:22
オリジナル
759 人が閲覧しました

How Can I Get the Full Path of My C/C   Executable?

C で実行可能ファイルの場所を確認する方法

C/C では、現在実行中のプログラムの完全なパスを取得するのが困難な場合があります。特に、argv[0] を使用すると完全なパスが提供されない可能性があります。

/proc のない Unix システム

Unix システムに /proc ファイル システムがない場合は、次の戦略:

  • argv[0] がスラッシュ (/) で始まるかどうかを確認します。これは絶対値を示します。 path.
  • argv[0] にスラッシュ (/) が含まれている場合: 現在の作業ディレクトリ (cwd) に追加します。
  • それ以外の場合は、で指定されたディレクトリで実行可能ファイル argv[0] を検索します。 $PATH 環境変数。

Unix システム/proc

/proc を備えた Unix システムの場合、次のいずれかのメソッドを使用できます:

  • Linux: readlink("/proc/self/exe", buf) 、bufsize)
  • FreeBSD: readlink("/proc/curproc/file", buf, bufsize)
  • Solaris: readlink("/proc/self/path/a.out", buf, bufsize)

Windows システム

Windows では、GetModuleFileName を使用しますfunction:

GetModuleFileName(NULL, buf, bufsize);
ログイン後にコピー

追加の考慮事項

  • 実行可能ファイルがシンボリックリンクではないことを確認し、必要に応じて解決してください。
  • 呼び出しこの情報を正確にするために、プロセスは argv[0] を正しく設定する必要があります。

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

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