ページ 11

インクルードする場所(C言語の館)

Posted: 2022年3月05日(土) 18:50
by cupa
(すごい初歩的な質問だと思われます...)

C言語の館の5章、「宣言の仕方を工夫しよう」で、

コード:

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

#ifdef GLOBAL_INSTANCE
#define GLOBAL
#else
#define GLOBAL extern 
#endif

#include "function.h"
このソース(GV.h)があると思うのですが、
何故はじめにDxLibやdefine.hをインクルードしてその後すぐにfunction.hをインクルードしないのでしょうか?
何故#ifdef~~~#endifを挟むのでしょうか?
別に意味はないのでしょうか?

よろしくおねがいします・・・

Re: インクルードする場所(C言語の館)

Posted: 2022年3月05日(土) 19:20
by みけCAT
定義した GLOBAL を function.h 内で使うからだと思います。
C言語やC++では、定義された識別子を使いたいときは、今見ている場所より前で定義された識別子しか使えません。

龍神録プログラミングの館 - 宣言の仕方を工夫しよう

Re: インクルードする場所(C言語の館)

Posted: 2022年3月05日(土) 21:43
by cupa
ありがとうございます。
ほんとに初歩的でしたね。