2009/07/31(金)Microsoft の『ATL』のコードに不具合、原因は「&」(japan.internet.com)

2009/07/31 24:59

http://japan.internet.com/webtech/20090731/12.html

プログラミングの経験のない方は、「たった1文字間違えただけか」という印象を抱くかもしれませんが、間違えた場所をよく見てみると、わりととんでもない間違いをしています。

具体的には

hr = pStream->Read((void*)pbArray, (ULONG)cbSize, NULL);

と書かれるべきコードが、

hr = pStream->Read((void*)&pbArray, (ULONG)cbSize, NULL);

と誤って書かれていた。

Microsoft の『ATL』のコードに不具合、原因は「&」

pStreamがどんなオブジェクトなのか、Read()がどんなメンバ関数なのかははっきりは分かりませんが、おそらくpStreamの入力ストリームからcbSizeのサイズ分だけ読み取り、結果をpbArrayの指し示す先の配列に書き込むといった処理だと思います。

各変数にはプリフィックスがついていますが、悪名高きシステムハンガリアンではなく、アプリケーションハンガリアンでしょう。pbArrayがboolへのポインタだとは思えないので。おそらくcbはCount of Byteで、pbはPointer of Byteといったところでしょうか。

ハンガリアン記法を使うこと自体は問題ありません。問題は、せっかくプリフィックスをつけたというのに、それを全く活かせていないことです。

書き込む先のアドレスを渡さなければいけない場所で、なぜpbArrayそのものではなく、pbArrayのアドレスを渡すようなコードを書いてしまったのか。作業者は「pb」の文字が目に入らなかったのか。まぁ、おそらく作業者が疲れていたんでしょうけど、せっかくのプリフィックスを妥当性チェックのために使用しないのであれば、タイピング数を増やすだけのルールはやめてしまえばいいのにと思います。

というか、こういうミスが出てくるとハンガリアン記法不要論に勢いを与えてしまうんだよなぁ *1 。困ったものです。

*1:もちろん、私もシステムハンガリアンにはあまり意味があるとは思っていません。必要だと思っているのはアプリケーションハンガリアンです。

2009/07/30(木)参加費を倍払ったら名札も二つもらえないものでしょうか

2009/07/30 23:53

賢押杯2009 *1 のエントリー開始の日が近づいてきました。今年も参加させていただこうと思いますので、スタッフの皆さん、参加者の皆さん、どうぞよろしくお願いします。

ところで、そのエントリーに際してまだ迷っていることが一つあります。それは登録の際の名前です。

廃人になりきれていなかったQMA1の頃を除くと、QMA2~QM5、そしてAn×An1はすべて「ちぃといつ」というCNでプレイしており、過去の賢押杯のエントリーの際も迷うことなくその名前で申し込むことができました。

しかし、現在稼動中の作品については、QMA6が「シアンフロこ」でAn×An2が「パグリアルよ」です。困りました。いや、CNを別々にしてしまった自分が悪いんですけど。

そんなこんなで色々な方に相談したのですが、「シアンフロこ」でAn×An界隈にどれだけ通じるか、「パグリアルよ」でQMA界隈にどれだけ通じるかということを考えれば、パグリアルよのほうがいいんじゃないか、という指摘があったので、パグリアルよで参加しようと思います。

ところで、今急に思い出したんですけど、前回の賢押杯の名札は持ちキャラの素敵な絵が描かれていたんですよね。

……平原より山脈のほうがいいよね、うん。じゃあシアンフロこにします。

2009/07/28(火)4年前から水着で大騒ぎしていた黄金賢者初段QMA6日記

2009/07/28 20:28

連打をせずに水着画像が見られると聞いて飛んできました! 隣のサテのカップルの視線を気にしながら連打する必要もなく、鮮明な画質でルキアたんのけしからん持ち物を拝むことができるとは、実に良い時代になったものです。はいはい、懐古厨乙。

……というわけで戦績です。

1-3-6-2#6-1(5-5)

1勝するのに19クレもかかってしまいました。まぁ、今の私の実力ならこんなもんですかねー。でも、その1勝も19クレ中で一番メンツがきつかったときなんですよね。勝負ってのは分からないものです。

……途中で「今日このまま勝てなかったら、それはそれでブログのネタになるよなー」と思ったのは内緒です。

さて、Extraになってから、予選でもノンジャンルが出るようになり、逆に準決勝のノンジャンル固定もなくなりました。準決勝で「芸能マルチセレクトクイズ」と表示されたときの絶望感はたまらないですね! 癖になりそうです! こんばんは、マゾゲー好きです。いや、でも今日1回区間賞取ったけどw

しかし、今回のバージョンアップに関して、ネガティブな意見が多いようです。ネガティブでも鋭い指摘だったり、建設的な意見であればまた印象も違いますし、そういう意見を書いている方もいらっしゃるのですが、単に負のオーラを撒き散らしている文章も多く、正直言って読んでいて辛いです。

皆さんそれなりにお金をつぎ込んだ顧客ですから、気に食わないことに対して否定したり意見を言う自由はあると思いますが、もうちょっと冷静になったほうが良いんじゃないかと思います。特に、今まで準決勝ノンジャンル否定派を罵倒 *1 していた人は、今回の件では立場が逆になっただけですから、申し訳ないですが何を言っても説得力がありません。気持ちは分からないでもないですが、もうちょっと頭を冷やしましょうよ。

そんな中、アニソン検定EXに熱中している青い方々は完全に勝ち組だと思った。

ところで、来週からの新レッスンでライフスタイルに「パソコン」が入るらしいですが、ライフスタイルってことはパソコンや周辺機器そのものに対する問題が多いんでしょうね。理系学問に「計算機科学」が入るのを熱望していたのですが、その可能性も消えてしまった感じでちょっと残念。ただ、Sを取りたいと思えるものが久々に来たので、しばらくは頑張ってみようと思います。

*1:疑問を呈する、とか、意見を言う、ではなくて。

2009/07/27(月)2009-07-27

2009/07/27 21:27
【埼玉西武 vs オリックス 第15回戦】
(2009年7月22日:西武ドーム)
 
オリックス  1 0 0  0 0 0  1 0 0  0 2  4
埼玉西武   0 0 0  0 0 0  1 1 0  0 0  2
 
[勝] 加藤  4勝2敗12S
[S] 大久保 2勝0敗1S
[敗] 小野寺 2勝3敗13S
 
[本塁打]
  7回表 一輝  2号 ソロ (帆足)
  7回裏 後藤  1号 ソロ (山本)
  8回裏 中村 31号 ソロ (香月)

終盤に2本のホームランで追いつくも、延長11回に小野寺がつかまってしまい、前半戦の最終戦を白星で飾ることはできませんでした。

この試合、藤田がライオンズのユニフォームを着ての初登板。1イニングをきっちり三者凡退に抑えました。9球しか見ていないので、コントロールがどうとか、変化球がどうとかいったことはまだよく分かりませんが、後半戦もこんな感じで結果を残して欲しいものです。

2009/07/27(月)2009-07-27

2009/07/27 20:38
【埼玉西武 vs オリックス 第14回戦】
(2009年7月21日:西武ドーム)
 
オリックス  1 1 0  0 0 0  0 0 0  2
埼玉西武   0 1 0  0 3 0  0 0 x  4
 
[勝] 涌井  12勝3敗0S
[S] 小野寺 2勝2敗13S
[敗] 小松  1勝6敗0S
 
[キモティー]
  2回裏 G.G.佐藤 14号 ソロ (小松)

そういえば前半戦の2試合がまだ残っていましたので、後半戦が始まる前に。

ライオンズ先発の涌井は毎回のようにランナーを出す苦しいピッチングでしたが、いいところで三振が取れていたので傷口が広がらなかった感じです。初回、1点を先制された直後の1アウト二三塁で北川、下山を連続三振。7回にも同じく1アウト二三塁からラロッカ、カブレラをまたも連続三振。外野フライも内野ゴロも駄目という場面できっちり三振が取れたのは大きい。

2009/07/26(日)くまいJりなさん、優勝おめでとう!

2009/07/26 21:06

溝の口の大会に参加してきました。参加者は16人。前回とほぼ同様のルールで行われました。

  • 予選前半戦
    • 2人1組のタッグ戦。8→4→1で、優勝したチームの2人が準決勝進出。
    • 1回戦で敗退した4チーム8名と、2回戦で3、4位だった2チーム4名の計12名は予選後半戦に回る。
    • 2回戦で2位だったチームは失格w
  • 予選後半戦
    • 12人で1位抜けの店内対戦を3組。各組の勝者3名が準決勝へ。
  • 敗者復活戦
    • 準決勝に残れなかった11人全員で相談し、店員さんの用意したオフラインの○×に答える。正解すれば敗者復活戦実施。
    • 結局○×に不正解だったので、敗者復活は実施されなかったため、何をやるつもりだったのかは分かりませんでしたw
  • 準決勝
    • 階級の高い人から順に1問ずつオフラインの○×に答え、不正解が出た時点で残りの4名が決勝進出。
  • 決勝戦
    • 普通に店内対戦。フリー選択の1セット。

で、タッグ戦はヒメブレンさんと組むことになりました。こんな強い人と組んじゃうと、俺の出番ほとんどないんじゃね?

1回戦はホビーがザクザク刺さり1位通過。二匹目のドジョウを狙った決勝戦ではホビーが空気だったものの、他チーム選択の野球が猛威をふるって1位となり、準決勝に進出しました。私は2回戦の野球6問くらいしか仕事をしていなかったような気もしますが、勝ちは勝ちですw

準決勝では1番手のヒメブレンさんが間違える波乱の展開で私は何もせずに決勝へ。俺予選から何もしてないじゃんかよw

決勝は1Qの野球で結構なリードを奪ったはずだったのに、社会セレクト、理系タイピング×2がざっくり刺さって終了でした。俺こんなに理系できなかったっけ……。割とショックの残る負け方ではありましたが、次は頑張ります。

ところで、大会の申し込みのときに、店員さんとこんな話をしまして。

【店】「実は名前の読み方が違うという情報を、とある筋から手に入れたんですが」

【俺】「(誰だよそんなこと言ったのwwwww)確かに予想していない読み方でしたけど、別に文字を読み間違っているわけではないですし、お好きなように読んでいただいて構いませんよ」

というわけで、私は今日も「シアン・フロこさん」でした。間で切って発音すると、本当にどこかの萌えキャラみたいですよね。いつも「優良外人が好きです。でも駄目外人のほうがもっと好きです」とか言ってそうな。

……萌えキャラ?

2009/07/25(土)2009-07-25

2009/07/25 23:28

お昼ぐらいにちょこっとQMAった以外は割と忙しく、An×Anまでは手が回りませんでした。ただ、今日頑張ったおかげで明日は自由な時間が取れそうです。

というわけで明日は溝の口へ。An×Anばっかりやってるかもしれませんがw

2009/07/23(木)二足のわらじ

2009/07/23 24:08

世間では社会人と守護天使、あるいは学生と守護天使を兼業している人が多いようですが、私もそれにならって社会人のまま高校野球の監督を兼務することになりました。優勝校と年度の線結びが問題として成立しなくなるくらい強い高校にしたいものです。

OK キャンセル 確認 その他