ページ 11

龍神録の館5章function.hの内容について

Posted: 2008年8月03日(日) 05:17
by こめかみ
お世話になっております。

解説によると

「条件わけしたGV.hの中にあるfunction.hに上記同様にGLOBALと書いて宣言してみます。」

、とあるのですが。
--function.h変更--

//graph.cpp
        //描画メイン
        extern void graph_main();

//key.cpp
        //現在のキー入力処理を行う
        extern int GetHitKeyStateAll_2();
        //受け取ったキー番号の現在の入力状態を返す
        extern int CheckStateKey(unsigned char Handle);

//laod.cpp
        //データのロード
        extern void load();

--function.h変更--

//graph.cpp
        //描画メイン
        GLOBAL void graph_main();

//key.cpp
        //現在のキー入力処理を行う
        GLOBAL int GetHitKeyStateAll_2();
        //受け取ったキー番号の現在の入力状態を返す
        GLOBAL int CheckStateKey(unsigned char Handle);

//laod.cpp
        //データのロード
        GLOBAL void load();
だということでしょうか。

どちらでもコンパイルは成功するのですが、
文章がちょっとよく分からないです。

Re:龍神録の館5章function.hの内容について

Posted: 2008年8月03日(日) 05:26
by 管理人
main.cppからも他のファイルからも同じファイルを呼びます。
しかしmain.cppから呼ばれたときは宣言をし、
他のファイルから呼ばれたときはextern宣言をしたいのです。

つまりmainから呼ばれたときはGLOBALを空白に置き換え、
他から呼ばれたときはGLOBALをexternに置き換えることで、
GLOBALと書いた部分を条件わけして宣言できるのです。

よって上にかかれた両者は同じではありません。
今は、

#ifdef _GLOBAL_INSTANCE_
#define GLOBAL
#include "function.h"
#else
#define GLOBAL extern
#endif

この部分でfunction.hはmainから呼ばれたときしか呼ばれていないのでexternにしても問題ないのですが、
他から呼ぶとき問題になります。
6章からこの部分は変わっていると思いますのでご確認下さい。

Re:龍神録の館5章function.hの内容について

Posted: 2008年8月03日(日) 05:43
by こめかみ
あのーすいません解説の意味の質問ではなく文脈の質問なんです。

「条件わけしたGV.hの中にあるfunction.hに上記同様にGLOBALと書いて宣言してみます。」

、とあるのに
解説のfunction.hには"GLOBAL"ってないじゃないですか

だから文章かソースコードが違うのかなってお話です。

わかりにくい文章ですみません。

Re:龍神録の館5章function.hの内容について

Posted: 2008年8月03日(日) 05:46
by 管理人
なるほど、了解しました。
それだとextern じゃなくGLOBALになっていないとおかしいですねm(_ _)m
ソースコードを修正してアップしなおします。

Re:龍神録の館5章function.hの内容について

Posted: 2008年8月03日(日) 05:56
by こめかみ
わーいはじめて貢献できたよ。
いやー初心者ゆえに理解力不足なのか誤字なのか判断がつかず。
タイトルもどんなのにすればいいのか迷うんですよー

こーいう時ってどんなタイトルにすればいいんですかねぇ

Re:龍神録の館5章function.hの内容について

Posted: 2008年8月03日(日) 06:02
by 管理人
ありがとうございます。
修正しなおしました。もしよければご確認下さい。
参考文献(サイト?)に絶対的な信用が無いというのは非常に頼りないですよねorz

専門書読んでても誤字が多いと頼りなさそうに見えるし;
特にこれ作った時は寝る間も惜しんで作ったので、誤字が多いかもしれませんので、
また何かあればご報告下さいm(_ _)m
とりあえず全プロジェクトはエラーなしにコンパイル出来ることは確認済みです・・。

タイトルは適切だと思いますよ。
もし面倒なら「龍神録の館の○章について」だけでも特に問題はないかと思います。

Re:龍神録の館5章function.hの内容について

Posted: 2008年8月03日(日) 06:55
by こめかみ
確認しました!
今後出てくるfunction.h内の関数は全部この形ですか?
だったら今見てる6章に出てくるのも直したほうがいいと思うんですけど。

>特にこれ作った時は寝る間も惜しんで作ったので
ものすごい速度で作られていましたよねー、戦慄してました。

誤字はシューティングゲームの館のころも結構見かけました。
文脈でわかるので報告するまでもないかなーとスルーしてたんですが、
報告したほうがいいんですよね。

プログラムの質問が多い中で誤字の指摘ってなんか気が引けるんですよねー
投稿時のアイコンに誤字の報告用のものとかつくれませんか?
質問とも雑談とも違う気がするのでそこでも迷うんです。

Re:龍神録の館5章function.hの内容について

Posted: 2008年8月03日(日) 13:23
by 管理人
そうですね、今見てみると8章から突然書き方かわってますね。
統一しようと思います。
アイコンの件了解しました。増やしておきます。
誤字の件は明らかに問題の無いようなものまで全てにおいて修正したいので、
どうぞお気軽に^^;