自動ニュース作成G
酷すぎてプログラマが呻いてしまうコード(英語)
http://blogs.msdn.com/oldnewthing/archive/2010/01/20/9950638.aspx
2010-01-21 12:56:11
ニュー作「うぉう」 外人「Ugh」「Wow」「Oooow」
本能からの感嘆詞は世界共通か
・すまん、もう少し解説が欲しい。16KBにするのが駄目なのか、16KB全探査してしまうのが駄目なのか、論理積で繋いじゃうのが駄目なのか、!IsBadReadPtrじゃないから駄目なのか、ちと判らん(或いはSizeofでケリが付く話?)・コメントにどう間違ってるかヒントが書いてある・なぜオタはプログラム言語が万人に通ずると勘違いしますか・それではみなさん一斉に「興味ない」を・興味はあるんだけど非プログラマには解らないので、解説がほしい・ニュー作は当然理解してる訳だよね?凡人に判り易い様解説を求む。・何故#6はこう偉そうかつ攻撃的なのだろうか?・まず、そもそもbufferのサイズが分からないから調べるのに、16384より大きい場合には正常に機能しないコードを書いているのがおかしい。・致命的なのは、IsBadReadPtr 関数の仕様は、指定した範囲のメモリがアクセスできるかどうかを調べるだけなので、bufferの終端の検出には使えない事。例えば5KBのbufferに対して、仮に4KB単位でメモリを割り当てているとすれば、8KBまでアクセスできるように割り当てられるので、sizeは5Kではなく8Kを誤検出する。・それ以前に、IsBadXXXPtr自体使うべきではない関数(Vistaでは削られた)http://d.hatena.ne.jp/egggarden/20090831/1251724208・何の為に書いたコードだこりゃあ?・コーディングが酷い・使用関数が酷い・バグり方が酷い、の三重苦。ってことでいいのかしら?・一番の恐怖は、条件次第で正しく動作してしまう事だと思う。ただbufferの大きさを取得するために、最悪16384回ループして調べるのは正気じゃない。調べ方も異常。・この話、オチが弱かったな。