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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
cupa
記事: 117
登録日時: 2年前

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

#1

投稿記事 by cupa » 2年前

(すごい初歩的な質問だと思われます...)

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を挟むのでしょうか?
別に意味はないのでしょうか?

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

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

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

#2

投稿記事 by みけCAT » 2年前

定義した GLOBAL を function.h 内で使うからだと思います。
C言語やC++では、定義された識別子を使いたいときは、今見ている場所より前で定義された識別子しか使えません。

龍神録プログラミングの館 - 宣言の仕方を工夫しよう
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

cupa
記事: 117
登録日時: 2年前

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

#3

投稿記事 by cupa » 2年前

ありがとうございます。
ほんとに初歩的でしたね。

返信

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