<Chapter Id="compiler">
<DocInfo>
<AuthorGroup>
<Author>
<FirstName>Brian</FirstName>
<Surname>Gallew</Surname>
</Author>
</AuthorGroup>
<Date>Transcribed 1998-02-12</Date>
</DocInfo>

<!-- <Title><application>gcc</application> Default Optimizations</Title> -->
<Title><application>gcc</application>デフォルト最適化</Title>
<indexterm><primary>PostgreSQL</primary><secondary>gcc</secondary></indexterm><indexterm><primary>gcc</primary></indexterm>

<Note>
<para>
<!-- Contributed by Brian Gallew (<email>geek+@cmu.edu</email>)-->
Brian Gallew（<email>geek+@cmu.edu</email>）による寄稿。
</para>
</Note>

<para>
<!-- 
Configuring gcc to use certain flags by default is a simple matter of
editing the -->

gccでデフォルトで特定のフラグを使うための設定は、<FileName>/usr/local/lib/gcc-lib/<Replaceable>platform</Replaceable>/<Replaceable>version</Replaceable>/specs</FileName>
<!--
file.
The format of this file pretty simple.  The file is broken into
sections, each of which is three lines long.  The first line is
"*<Replaceable>section_name</Replaceable>:" (e.g. "*asm:").
The second line is a list of flags,
and the third line is blank. -->

ファイルを編集するだけの簡単な作業です。このファイルのフォーマットはシンプルです。ファイルは3行ずつの節に分かれています。最初の行は「*<Replaceable>section_name</Replaceable>:」のようになります（たとえば「*asm:」）。2行目はフラグのリストで、3行目は空行です。

</para>

<para>
<!-- The easiest change to make is to append
the desired default flags to the list in the appropriate section.  As
an example, let's suppose that I have linux running on a '486 with gcc
2.7.2 installed in the default location.  In the file
/usr/local/lib/gcc-lib/i486-linux/2.7.2/specs, 13 lines down I find
the following section: -->

最も簡単な変更は、求められるデフォルトフラグをふさわしい節のリストに追加することです。たとえば、筆者がgcc 2.7.2をデフォルト位置にインストールしたi486上で起動するLinuxを持っているとします。 ファイル/usr/local/lib/gcc-lib/i486-linux/2.7.2/specsの中の13行目に下記のような部分があります。
</para>

<programlisting>
- ----------SECTION----------
*cc1:


- ----------SECTION----------
</programlisting>

<para>
<!-- 
As you can see, there aren't any default flags.  If I always wanted
compiles of C code to use "-m486 -fomit-frame-pointer", I would
change it to look like: -->
見ておわかるように、デフォルトフラグは何もありません。もしCコードのコンパイルでいつも「-m486 -fomit-frame-pointer」を使いたければ、下記のように変更を加えます。
</para>

<programlisting>
- ----------SECTION----------
*cc1:
- -m486 -fomit-frame-pointer

- ----------SECTION----------
</programlisting>

<para>
<!--  
If I wanted to be able to generate 386 code for another, older linux
box lying around, I'd have to make it look like this: -->
もし放置された別のもっと古いLinuxのために386コードを作成したければ、下記のように変更しなければいけません。
</para>

<programlisting>
- ----------SECTION----------
*cc1:
%{!m386:-m486} -fomit-frame-pointer

- ----------SECTION----------
</programlisting>

<para>
<!-- 
This will always omit frame pointers, any will build 486-optimized
code unless -m386 is specified on the command line. -->
これは常にフレームポインタを省略します。「-m386」がコマンドラインで指定されない限り486に最適化されたコードを作成します。
</para>

<para>
<!-- 
You can actually do quite a lot of customization with the specs file.
Always remember, however, that these changes are global, and affect
all users of the system. -->

specsファイルでは実際にたくさんのカスタマイズをすることができます。しかし、これらの変更はグローバルでありシステム上のすべてのユーザーに影響するということを覚えておいてください。
</para>

</Chapter>
