../とinclude/の意味について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
たいが

../とinclude/の意味について

#1

投稿記事 by たいが » 14年前

今、龍神録プログラミングの5章をやっています
そこで、まずメインファイルの一番上の

#include "../include/GV.h"
とありますが、この

#include "../include/GV.h"
がどういうことかいまいちわかりません。

#include "自作のヘッダ" というように宣言すること自体はわかりますが、../とinclude/の意味がよくわからないのです。

さらに下のところの--GV.h変更--のところの

#include "../../../include/DxLib.h"

この意味も同じです。

#include "../include/GV.h"
#include "../../../include/DxLib.h"
は似たような意味だとは思うのですが、../の個数がどこで決まっているのかがよくわからないです。

ゲームプログラミングの館で、フォルダより上のフォルダにあるtest.bmpを指定したい時は "../test.bmp"というように書かれていたのを覚えていますが、ここで上のフォルダと言われても?となってしまいます。

どうかご教授お願いします

Dixq (管理人)

Re:../とinclude/の意味について

#2

投稿記事 by Dixq (管理人) » 14年前

「..」は一つ上の階層を意味します。
「/」は階層の境界を意味します。
ですから、
「../include/GV.h」
というのは
「一つ上の階層の、includeフォルダにあるGV.hというファイル」を意味します。

ゆーずぃ

Re:../とinclude/の意味について

#3

投稿記事 by ゆーずぃ » 14年前

"./" は現在のフォルダです。(カレントディレクトリ)
"../" は現在のフォルダの一つ上です。
と、ここまでは分かってるようなので、その先です。

../が付くたびに一つ上に上がっていきます。試しに↓を日本語にすると
例:#include "../../../include/DxLib.h"
現在のフォルダの一つ上の、もう一つ上のフォルダの、更に上のフォルダ、の中にあるincludeというフォルダの中に、DxLib.hというファイルがあるだろう。ということです。
んでもって ../ の個数が何を基準としているかは、それを必要としているモノの場所によります。

例えば、例に出ている../test.bmpのような実行ファイルで使うファイルは実行ファイル(exeファイル)を中心に考えます。
ですが、ソースファイルはソリューションで使われるのでソリューションを中心に考えます。ですので、普段見慣れた自作ヘッダーファイルが
#include "hogehoge.h"
だけでインクルード出来るのは、自動的にソリューションと同じフォルダに置かれているからです。これは便利ですがソリューションの置かれているフォルダというのは大抵たくさんのファイルがあります。ごちゃごちゃしています。なのでソースファイルだけ上の階層にまとめたりする時にたいがさんが疑問に思ったような書き方をします。

dic

Re:../とinclude/の意味について

#4

投稿記事 by dic » 14年前

とれる意味としては

../ の .(ドット)の個数がなぜ2個なのかわからない(1個でもいいんじゃないか?どこに定義してあるの?)
.(ドット)の個数がわからないので、../include/hoge.h の意味がわからない

ということでしょうか?

たいが

Re:../とinclude/の意味について

#5

投稿記事 by たいが » 14年前

>Dixqさん
ありがとうございます!
それぞれの記号の意味を知ることができました。
..と/は別々の意味を持っていたんですね

>ゆーずぃさん
ありがとうございます!
とてもわかりやすいです。特に、基準がどこかについてよく理解できました。

>dicさん
すみません、わかりにくかったですね
../ の固まりがいくつってのがどこで決まるか知りたかったって感じです

みなさんのおかげで解決しました!

閉鎖

“C言語何でも質問掲示板” へ戻る