-g オプションを使用して、デバッグ情報を生成します。-g オプションを指定すると、コンパイラは、-O0 を起動して最適化を無効にします。-g または -O0 オプションを指定すると、自動的に -fp オプションが有効になります(IA-32 のみ)。-fp オプションは、汎用レジスタとしての EBP レジスタの使用を無効にします。
-O1、-O2 または -O3 とともに、-g オプションを指定すると、-fp は無効になり、最適化に汎用レジスタとして EBP レジスタを使用できます。ただし、ほとんどのデバッガは、スタック・フレーム・ポインタとして EBP を使用するため、必要な操作をしない限りスタック・バックトレースを生成できません。-fp オプションを使用すると、生成するコードの効率が少し低下する場合があります。
オプション | 結果 |
---|---|
-g | IA-32を対象にコンパイルする場合は、デバッグ情報が生成され、-O0が有効になり、-fpが有効になります。 |
-g -O1 |
IA-32を対象にコンパイルする場合は、デバッグ情報が生成され、-O1による最適化が有効になり、-fpが無効になります。 |
-g -O2 |
IA-32を対象にコンパイルする場合は、デバッグ情報が生成され、-O2による最適化が有効になり、-fpが無効になります。 |
-g -O3 |
IA-32を対象にコンパイルする場合は、デバッグ情報が生成され、-O3による最適化が有効になり、-fpが無効になります。 |
-g -O3 -fp |
IA-32を対象にコンパイルする場合は、デバッグ情報が生成され、-O3による最適化が有効になり、-fpが有効になります。 |
-ip | デバッグ用に生成したシンボルと行番号 |
-ipo | デバッグ用に生成したシンボルと行番号 |