[タイトル][SDL][C言語実験室][Kanon専用DNMLビューアKDVXA][BM][ブロック崩し2000][マインスイーパー][ドリラー][ソロモンの鍵アナザー][CDプレイヤJoplay][Depth][Baloon Tripper][SDLバカ一代サポート][掲示板][リンク][日記][自己紹介]

 

LJ懺悔サポート部屋

2001年9月号からLinuxJapanに掲載されている「SDLバカ一代」で分かりにくい部分をサポートするページです。Q&A形式でイキます。

Q. 
2001年9月号のサンプルプログラムでRANDOMマクロがあんなに複雑なのは何故ですか?

A. 
ごめんなさい(平謝り)
#define RANDOM(N) (rand() % (N))
が正解です。なぜあんなコードを書いたのかは「TurboC初級プログラミング・下」の影響を多大に受けていたせいです(と、本に責任を押し付けてみる)。
F.A様、ご指摘ありがとうございます。

 

Q. 
2001年10月号の記事中でput_pixel関数がBCCでコンパイルできないのは何故ですか?

A. 
void*型の大きさを暗黙に1バイトとみなしてコーディングしていると、BCCのようなデフォルトで厳しいコンパイラから叱られてしまうみたいです。 これを避けるために、大きさ1バイトのポインタでキャストしてやることにします。 つまり、

【変更前】
dest=surface->pixels+surface->pitch*y+surface->format->BytesPerPixel*x;
【変更後】
dest=(Uint8 *)surface->pixels+surface->pitch*y+surface->format->BytesPerPixel*x;

てな感じでOKでしょう。makoto様、ご指摘ありがとうございます。

 

 

 

 

 

 

ご意見、ご感想、ご要望はこちらまで

Copyright (c) adas,2000.