frame.cで、void *型に対するポインタ演算をしているためだ。報告しに行ったら、どうやら、gccではvoid *型へのポインタ演算は、1バイト単位での演算だとみなされるらしい。あたかもuint8_t *型であるかのように振舞う。なんて腐ったコンパイラだ。しかも言い草がこうだ。
「例えどんな単純な修正であっても、マイクロソフトの信者の要求は受けない」
お前な、Cのどの規格にも違反してるコードだぞ。しかも、そのコードを修正する前は、ちゃんとvoid *型をuint8_t *型にキャストしてから演算を行っていたのだ。何故それを見習わない。
ついでに、Cのキャストは嫌いだといったら、これまたC信者らしい意見で反論された。いわく、ugly。キャストはuglyな処理だからuglyな文法でいいのだ。そのコードを読んだものをして、なにかuglyな処理が行われていると知らしめるのが目的だ。D&Eを読め。D&Eを。
No comments:
Post a Comment