• ベストアンサー

パスを通す理由とは?

プログラミングの勉強を始めたばかりの初心者です。コンパイラのインストールと環境設定をし、環境設定のときパスを通すことをしました。この『パスを通す』理由を教えてください。そもそもこの『パスを通す』という意味もしっかり理解できていないので、分かりやすく説明をお願いします!

質問者が選んだベストアンサー

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.2

 環境変数「PATH」の事ですな。これは、例えば「ファイル名を指定して実行」で、フルパスじゃなくって実行ファイルの名前だけを入力した時に、この「環境変数PATH」に設定されているセミコロンで区切られたディレクトリ内を順次探しに行くというものだ。 例:PATH=C:\Windows;C:\Windows\System32;D:\oracle\hogehoge\bin あなた:ファイル名を指定して実行→calc.exe Windows君:「C:\Windows\calc.exe・・・・無い、次。」 Windows君:「C:\Windows\System32\calc.exe・・・・あった、これじゃ。」 →電卓起動 このように、実行ファイル名だけを指定すれば後はOS(正確にはシェル)が、このPATH環境変数の中身を探してくれるというものだ。この為にディレクトリ一覧にコンパイラ(プログラムのコンパイルを行う実行ファイルだよね)が入っているディレクトリを追加してやる事を「パスを通す」という。ちなみにNotepad.exeなんかはC:\WindowsとC:\Windows\System32の両方に入っているが、PATHの中で先に見つかったものが起動される。  このパスという仕組みは、実行ファイルの場所を決め付けないようにするためのもの。例えば、プログラムAがプログラムBを呼び出すという処理をする場合、このPATHが無ければプログラムBのフルパスを指定して起動しないといけない。けど、他の人のパソコンに持っていったら、プログラムAとBを別の場所にインストールしたいかも知れない。そこで、シェルがPATH環境変数を見てプログラムBを自動で探してあげる事でパスの名前に依存しないプログラム起動ができる訳だ。  あなたがコンパイラをC:\compilersに置くかも知れないし私はc:\usr\local\binに置くかも知れない。それでも「PATH」というものを経由する事によってどちらも正しく動くようになる訳だ。

kokko28
質問者

お礼

なるほど!丁寧な回答ありがとうございました!!

その他の回答 (1)

  • maslkjh
  • ベストアンサー率45% (10/22)
回答No.1

パスというのは、簡単に言うと通り道(PATH)のことだと考えてください。 通常コマンドプロンプトで作業しているときは、どこかのフォルダのなかで操作をしていることになります。 例えば、そのフォルダの中にabc.exeという実行ファイルがあったとします。コマンドプロンプトでそのフォルダ内にいるとき >abc とすればこれを実行できますが、他のフォルダにいるときはできません。 しかしこのフォルダにパスを通せば、自分が今いるファイルとは関係なくアクセスできるようになります。つまりそのファイルに対してどこからでもアクセスできる通り道ができたと言うことになります。 こんな説明でいいでしょうか。

kokko28
質問者

お礼

有難うございます。助かりました!!

関連するQ&A