LINK関連のオプション

■-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' とします
  $

Copyright 2003 岸 哲夫

Copyright 1997-2017 CQ Publishing Co.,Ltd.

 

NEW記事内インデックス    連載インデックスはこちら   Interfaceのトップ
C言語の方言を扱うオプション
◆LINK関連のオプション/メッセージ関連のオプション
プリプロセッサ関連のオプション
警告を要求/抑止するオプション