忍者ブログ
まったくのプログラミング素人の筆者がC++/HSPを使用してSTG(シューティングゲーム)を作っていく過程を書くブログでしたが最近は脱線気味。プログラミング以外にも、ゲーム関連の記事、日々の戯言など。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

先日、やっとの事でファイルの分割は出来たのですが、変数や関数の宣言を2度書かねばならず
不便でした。
ですが、C言語何でも質問サイトさんの龍神録プログラミングの館で便利な方法が紹介されて
いました。
具体的な方法は上記のサイトに書かれていますが、簡単に書くとヘッダファイルで
#ifdef _GLOBAL_INSTANCE_
#define GLOBAL
#else
#define GLOBAL extern
#endif
と宣言しておいて、さらに
GLOBAL int a;
GLOBAL void func1(void);
と宣言し、仮にGV.hという名前でヘッダファイルとして保存したとします。

で、main.cppでは(と言うか普通に宣言したいファイルの時)
#define _GLOBAL_INSTANCE_
#include "GV.h"
と宣言すれば、extern宣言せずに変数や関数の宣言をしてくれます。

そして、extern宣言したいファイルでは
#define _GLOBAL_INSTANCE_ は宣言せずに
#include "GV.h"を読み込めば、extern宣言して変数や関数を読み込んでくれます。

こうすれば"GV.h"に変数や関数を追加するだけでOKになるので便利です^^
こんな感じでファイルを追加してみました↓
bunsatu.jpg
それにしても、こんな方法を自分で考えるのは無理ってもんです。今回のファイル分割にしても
C言語何でも質問サイトさんの記事を丸写ししたような物ですし・・・
ホント最初にこういう事を考える人は凄いなぁと感心しますね^^

PR
この記事にコメントする
お名前
タイトル
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
Twitter
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
最新コメント
[04/20 kt.]
[04/19 うぇむ]
[11/24 kt.]
[11/21 NONAME]
[11/24 kt.]
プロフィール
HN:
kt.
性別:
男性
自己紹介:
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
忍者ブログ [PR]