新年
えーあけましておめでとうございます。
本年もよろしくお願いいたします。
・・・以上、新年の挨拶終了!抱負?
「ゆるく、適当に」
をモットーに頑張っていきます(ぉぃ
31日と1日は実家に戻っておりました。実家が三重の伊勢付近なんで初詣は伊勢神宮で済ませておりました。
が!
毎年1人でアマテラスさんを挑発しつつ参拝してくるんですが、今年は中学からの友人と初詣に。
まぁ、年が明けてから参拝しようということで、それまで適当に飲もう!ということになり、居酒屋へ。
社会人3年目、少しぐらい気前のよいところを見せようと「俺が7割出そう」ってことになりました。
・・・金のことは別に構わないとです。問題はその居酒屋にて!です。
相方、もうこれでもか!っていうぐらい飲みやがります。この手の「自分は飲める」って思ってる奴と飲むと9割方、絡み酒になります。
「酒は適度に飲んで楽しむ」俺としては迷惑至極・・・。もう適当なあしらいになってました。
・・・酒飲みの皆さん、自分が飲むのは勝手ですが、相手に無理やり勧めるのはどうかと思います<(_ _)>
で、「もう限界・・・」と適当に流す頃には既に新年明けて、午前4時。・・・5時間も飲んでたのか、俺らは;
案の定、ツレはヘベレケ。初詣どころじゃなくなっていたんで、そのままバスに乗せて帰宅。
「これもネタだ!」と言い張っておりましたが、もう少し酒はわきまえろと言いたいです。
酒は適度に、楽しもう・・・今年も来年も、一生、こんな飲み方をしようと思っている風民でございました。
会社説明会に
えー、もう今年も後2日。昨日から1週間の冬休みを満喫中でございます。
先日、課長から
「風民クン、会社説明会に出てくれる?」
てなことを頼まれました。何でも入社3年目ぐらいの人が選抜されるらしいです。
・・・はぁ、構いませんが・・・。
別に大人数の前で話をするのは、何故か慣れさせられた身なんで構わないんですが
一体、何を話しろってんだ!
といった感じです。
「卒業生から話を聞く会」とかも参加済みですが、もう好き勝手に話させてもらいました。案外、気持ちのいいもんです。
で、入社説明会。
なにやら質問時間のようなものも用意されているようです。
こういった時の定番質問として
「入社までの間に何を勉強しておけばいいでしょうか?」
・・・他の現場はどうなっているかは知りませんが、とりあえず自分のいる所ではゲームの作り方に対する知識は微塵も必要ないです。それ以上に
「如何に設計するか?」
ということが重要になってきます。
この業界、仕様の変更が多いです。自分の会社は下請けなんで尚更多いです。もう勘弁してください!ってぐらい多いです。
で、その仕様変更に柔軟に対応できるようにプログラムを組む必要があります。
では、そんなプログラムとは一体どのようなものか?
個人的には「構造プログラミング、それ以上にオブジェクト指向プログラミング」をモットーにして組んでます。
C++ならオブジェクト指向もやりやすいんですが、ゲームや組み込み業界、言語の多くはC言語。
ようやく言語の違いに違和感なく、バイリンガルな感じになってきましたが、C言語によるオブジェクト指向プログラミングのサンプルなんてものは見つからず、もう独学になってます。
あってるのか、オイ!
って闘魂も叫びだします。
現状は
「考えられる限り、関数で分割」
って事で対応しています。関数に処理をまとめることで、仕様変更による対応箇所も小さく限定的となり、変更にかかるリスクを抑えるようにしています。
なんで、↑みたいな質問がきたらこんな感じに答えておこうかと思います。
ちなみにこれは昔の「エフェクトにこだわった自分」に対する戒めでもあったりするんですがね。
昔の俺よ、少しプログラム綺麗に書こうぜ・・・orz
DLLの使い方
前回が「作り方」で今回は「使い方」。
今思うと逆の方が良かったのでは?と思うが、まぁいいやw
実際、俺の場合は使い方を意識する前に作り方を覚えたし。
DLLの使い方、とはいっても実際VCとかを使っている人は無意識に使っています。(WindowsAPIなどはまさにそれ)
で、その無意識を「意識して」使うには以下の設定を行う必要があります。
必要なもの:
・Libファイル&DLLファイル(同じディレクトリに入れておきましょう)
・ヘッダーファイル
①Libファイルを参照する
DLLはすでにバイナリ化したデータ。無論、そのデータだけではプログラムで使用は出来ない。
DLLとプログラムの橋渡し的存在が、このLibファイル。
「オプション」→「プロジェクトおよびソリューション」→「VC++ ディレクトリ」の設定でコンボボックスより「ライブラリファイル」を選択し、参照したいLibファイルのあるディレクトリを追加する。
(※どうもここで設定したパスは環境変数[LIB]にも反映される様子)
一応、この方法でLibファイルの設定はOKですが、実は参照する優先度というものがあります。
1:実行ファイルと同じパス(カレントディレクトリ)
2:システムフォルダ
3:環境変数
となり、上記の方法だと最も優先度が低くなります。
風民は自作DLLは専用のフォルダに書き出して、そこを参照させています。
「これで何処でプロジェクトを作っても自作DLLへアクセスだ!」
と喜んだのもつかの間、既存のDLL名と自作DLL名が被り、リンクエラーを起こしました。
ちなみに上記の原因が分かるまで2日かかりましたorz
②プロジェクトにもLibファイルを参照させる
さて、実行!とやってみてもまだ駄目です。もう一手間いります。
プロジェクトに使用するLibファイルを教えなくてはなりません。
方法は2つ。
1:プロジェクトのプロパティから「構成プロパティ」→「リンカ」→「コマンドライン」のページの「追加のオプション」に使用するLibファイルを記述する
2:ソースの何処か(#include 定義の付近?)に[#pragma comment(lib, "参照LIBファイル")]と記述
以上で設定終了。
某猫のページの管理人様もおっしゃっていました。
「DLLを作れるとプログラムがうまくなった気がします」
・・・はい、少し優越感に浸れました♪