Sun Studio 12 Update 1: C++ ユーザーズガイド

A.2.79 -Qoption phase option[,option…]

option (オプション) を phase (コンパイル段階) に渡します。

複数のオプションを渡すには、コンマで区切って指定します。-Q でコンポーネントに渡されるオプションは、順序が変更されることがあります。ドライバが認識するオプションは、正しい順序に保持されます。ドライバがすでに認識しているオプションに、-Q は使わないでください。たとえば C++ コンパイラは、リンカー (ld) に対する -z オプションを認識します。次のようなコマンドを実行したとします。

     CC -G -zallextract mylib.a -zdefaultextract ... // correct

-z オプションは、この順序でリンカーに渡されます。一方、次のようなコマンドを指定したとします。

     CC -G -Qoption ld -zallextract mylib.a -Qoption ld -zdefaultextract ... // error

-z オプションの順序が変わり、不正な結果が生じる可能性があります。

A.2.79.1 値

phase には、次の値のいずれか 1 つを指定します。

表 A–18 -Qoption の値

SPARC 

x86  

ccfe

ccfe

iropt

iropt

cg

ube

CClink

CClink

ld

ld

— 

ir2hf

fbe

fbe

次に示すコマンド行では、ldCC ドライバによって起動されたとき、-Qoption で指定されたオプションの -i-mld に渡されます。


example% CC -Qoption ld -i,-m test.c

警告

意図しない結果にならないように注意してください。たとえば、次を見てください。


-Qoption ccfe -features=bool,iddollar

しかしこの指定は、意図に反して次のように解釈されてしまいます。


-Qoption ccfe -features=bool -Qoption ccfe iddollar

正しい指定は次のとおりです。


-Qoption ccfe -features=bool,-features=iddollar