Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

PSoC Creator での GCC ウォーニング診断設定 - KBA225431- Community Translated (JA)

PSoC Creator での GCC ウォーニング診断設定 - KBA225431- Community Translated (JA)

ChaitanyaV_61
Employee
Employee
50 questions asked 25 likes received 25 sign-ins

Community Translated by  MoTa_728816          Version: **

質問: PSoC Creator™ GCC のウォニングはどのように診設定できるのですか

回答

PSoC Creator はコドのエラやウォニング診 GCC コンパイラを使用して結果を Notice List に表示します。GCC は診断対象種ごとにその診を有または無にすることを許しますので診断対象の設定を更することが可能です。ウォニング象の設定は

  • コンパイラのコマンドラインオプショ
  • pragma による診断設

手法 1: コンパイラのコマンドラインオプションを使用す

コマンドラインはカスタムフラグを使用して行時のウォニング象を設定します。カスタムフラグの一 こちら. をご照ください

この方法はグロバル設定でコド全体に反映されます。 1 のようにカスタムフラグを Build Settings に追加してください

1. カスタムフラグを追加す

pastedImage_0.png

手法 2: pragma を使用した GCC の診

pragma は診の種類を更するのに使用されます。診設定用 pragma の詳細は こちら をご照ください。この手法はグロバル設定も行えますが、主にコドの特定部位の診設定に使用されます。pragma 指示子は下記のようにコドに直接追加されます

書式

#pragma GCC diagnostic <kind> <option>

ここで

<kind> error, warning, ignore のどれ

<option> はコマンドラインオプションに相する文字

使用例

#pragma GCC diagnostic ignored “-Wunused-variable” //これで使用していない変数するウォニングは無視されるようになりま

よくある質問 (FAQ) :

出力ウィンドウや Notice List に表示されているウォニングを無にするのにはどうしたら良いですか

Build Settings Compiler > Command Line Custom Flags のフィルドにカスタムフラグ “-w” をお使いください

ドの特定部位に診を適用するにはどうしたら良いですか

pragma は診断対象部分の先頭と最後を指定するのに push pop オプションを提供しています

使用例

     #pragma GCC diagnostic push // 1

     #pragma GCC diagnostic ignored “-Wunused-variable”// 2

     #pragma GCC diagnostic pop   // 20

この例ではコドの3行目から20行目までの間に使用されていない変数があっても無視されてウォニングは行されません。同に、例のコド中の ignored error 更するとコドのその部分のエラは無視されるようになります

pragma の書式で option フィルドには何を記載したら良いのですか

PSoC Creator でコドをコンパイルすると、全てのウォニングには pragma オプションも合わせて表示されます

2. pragma オプショ

pastedImage_1.png

でハイライトされた部分が pragma オプションです

ウォニングを全てエラとして表示するのにはどうしたら良いですか

Build Settings 中で "-Werror" フラグを使用してください

ある特定のウォニング、例えば unused variable をエラとするのにはどうしたら良いですか

もしコマンドラインオプションを使用しているのであれば、“-Werror=unused-varibale” フラグを Build Settings の中で使用してください

もし GCC pragma を使用しているのであれば、下記の行を使用してください

#pragma GCC diagnostic error “-Wunused-variable”

どちらの手法がより高い優先度を持ちますか

どちらの手法にも診の優先度が適用されます; ignore > warning > error 。その優先度の高い設定を持つ手法の設定が適用されます

ウォニングを無にした上で Notice List  送するにはどうしたら良いですか

PSoC Creator はコンパイラの出力を監視して正規表現を使用してツルチェン出力からエラやウォニングを出するシステムを持っています。しかし新しい書式 (例えば、#pragma 設定) 出できるシステムはありませんので、Notice List にそれらの情報表示をすることはできません

0 件の賞賛
287 件の閲覧回数
寄稿者