Tag Archives: マクロ

Qtのマクロ

Q_LIKELY Q_UNLIKELY

コンパイラに分岐予測最適化を提供するためのマクロ。ifの中で使い、trueになりそうなときはQ_LIKELY、falseになりそうなときはQ_UNLIKELYをつかう。Visual Studioコンパイラだと特に何もしないが、gccだと__builtin_expectに展開される。

Q_UNREACHABLE

絶対に到達しない場所に記述する。switch文ですべてのenumをcaseに書かないと警告が出る場合にこれを置いておく。

Q_UNUSED

関数の引数で使わないものを書いておくと警告が出なくなる。関数の引数の変数を消してもいい。

Q_ASSERT Q_ASSERT_X

実行時にtrueでなければならない式を記述してデバッグ時にエラーが出ないことを確認する。
_Xの方は警告文をいろいろ書ける。

Q_ASSUME

式がtrueであることをコンパイルに教えて最適化に役立てる。falseを指定すると、Q_UNREACHABLEと同じになる。

qDebug()

デバッグ出力する。