2008-01-01から1ヶ月間の記事一覧

Cの変数境界値

C

ARMのcharの型の話でふと思い出したのですが、こんな問題がありました。 int a,b,c; な変数があったとして、 if (a > b) 〜と c = a - b; if (c > 0) 〜の違いは何か? 別にintじゃなくてもshortでもcharでも構いませんが。 意識しておかないとバグの元にな…

ARMのgccのcharはunsigned

ARM gcc バッドノウハウ集 : char 型より: ARM gcc では,char 型で宣言した変数は unsinged char として扱われます. x86 などの他の gcc では signed char として扱われます. 普通はこちらの方ですね. あれだけ散々ARM向けにクロスコパイルしてたのに、…

Leopard(10.5)でTiger(10.4)向けユニバーサルバイナリをコンパイル

Mac C

Leopard(MacOS X 10.5)のgccを使ってコンパイルしたバイナリは、そのままではTiger(MacOS X 10.4)上では動かないようです。 ちょっと検索したところ、10.4uのSDKを指定すれば良いことが分かりました。 ついでに、ユニバーサルバイナリを作る方法も調べてみた…