Nanashi-softプログラマ専用Windows gcc SDL


◇Windowsでgcc+SDL -gccコンパイルオプション-

gccは様々なオプションを付けてビルドする事ができる
PS3 Linuxと違ってWindowsは様々な環境があるので、オプションを触りすぎると動かないパソコンが多くなる可能性があるので注意したいところ

○最適化

ソースを最適化するオプション
-O1,-O2,-O3のどれかを付ける事で可能となる
重要なオプションとして-O0もある。これは最適化を禁止する

普通は、最終的に-O2を付けてコンパイルします

○CPUの種類

何も指定しなければ i386コードで生成されます
これは物凄い古い、まだ Windowsが無い頃のCPUでも動くぐらいのコードです

自分のパソコンだけで動かすプログラムであれば
-mtune=native
と指定するのが一番です

一般的なパソコン向けにしたい場合は、
-mtune=generic
とする事で、現状で普通に使われている CPUに準拠されるそうです

このサイトの説明では SSE2を使用しているので、
-mtune=pentium-m
になると思います
それより前の CPUのコードを生成してもどうせ動きませんから

CPUオプションには数多くの種類があります
以下のサイトに多くのオプションが説明されています(英語ですが)
http://gcc.gnu.org/onlinedocs/gcc-3.4.6/gcc/i386-and-x86_002d64-Options.html

○64bit対応

CPUが64bitであれば、64bitポインタを使う事ができます
それが時に、コンパイル時に誤動作を引き起こすことがあります

常に32bitでコンパイルするには、
-m32
オプションを付けてビルドします
こうする事で、32bitポインタのみを使用する事になります
注意点ですが、64bitCPUでも普通に32bitのプログラムは動作しますので、必要無ければ32bitの方が良いです

-m64
と指定することで、int型を32bitで、long型を64bitで取り扱うようになる
intのビット長はそのままなので、64bit拡張しながら従来のソースも流用できるでしょう


TOPプログラマ専用Windows gcc SDL