■-shared-libgcc,-static-libgcc
シェアードライブラリとしてlibgccを提供するシステムにおいては,このオプションによってライブラリを共有するかスタティックにするかを決定します.
ただし,コンパイラが構築されたとき,libgccの共有が指定されていなければ,これらのオプションは効果がありません.
ちなみに,Red Hat 8.0環境のGCC3.2.2では以下のとおり,共有されていません.
$ gcc -v
/usr/lib/gcc-lib/i386-redhat-linux/3.2/specs から spec を読み込み中
コンフィグオプション: ../configure --prefix=
/usr --mandir=/usr/share/man --infod
ir=/usr/share/info --enable-shared --enable
-threads=posix --disable-checking
--host=i386-redhat-linux --with
-system-zlib --enable-__cxa_atexit
スレッドモデル: posix
gcc バージョン 3.2 20020903 (Red Hat Linux 8.0 3.2-7)
$
■-fmessage-length=n
このオプションは,表示されるエラーメッセージの長さをフォーマットするものです.デフォルトは72です.しかし,日本語の場合には意図したとおりにならないようです.次のようにずれます.
$ gcc -std=gnu9x test142.c -fmessage-length=20
test142.c:10: 警告: 戻り値の型をデフォルトの
`int' とします
$ gcc -std=gnu9x test142.c -fmessage-length=50
test142.c:10: 警告: 戻り値の型をデフォルトの
`int' とします
$ gcc -std=gnu9x test142.c -fmessage-length=60
test142.c:10: 警告: 戻り値の型をデフォルトの`int' とします
$ gcc -std=gnu9x test142.c -fmessage-length=55
test142.c:10: 警告: 戻り値の型をデフォルトの`int'
とします
$
■-fdiagnostics-show-location=every-line
このオプションを指定すると,上の例でいうと“test142.c:10: 警告: ”が各行に表示されます.
$ gcc -std=gnu9x test142.c -fdiagnostics-show-location=
every-line -fmessage-length=55
test142.c:10: 警告: 戻り値の型をデフォルトの `int'
test142.c:10: 警告: とします
$
■-fdiagnostics-show-location=once
前述の例で,“test142.c:10: 警告: ”が各行に表示されなくなります.これがデフォルトのふるまいです.
$ gcc -std=gnu9x test142.c -fdiagnostics-show-location=
once -fmessage-length=55
test142.c:10: 警告: 戻り値の型をデフォルトの `int' とします
$
|