2013-02-01 8 views
7

D_GLIBCXX_DEBUGフラグとDNDEBUGフラグを理解しようとしています。D_GLIBCXX_DEBUGフラグとDNDEBUGフラグの詳細はどこにありますか?

しかし、私はそれらに関する情報を見つけることができません。

誰でも何を説明できますか?どこでもっと読むことができますか?

+0

実際には '_GLIBCXX_DEBUG'と' NDEBUG'は 'D'なしです。 – ipc

+0

これらのマクロは何ですか? –

+2

私はあなたに実名を与えました。今はウェブで簡単に検索できます。 – ipc

答えて

5

-Dは、Dの後に指定されたマクロを定義します。

NDEBUGが定義されている場合、assertはその引数をチェックしません。

_GLIBCXX_DEBUGが定義されている場合、libstdc++debug modeをアクティブにします(さまざまな操作のチェックを実行するためにlibstdc++が発生します)。

+0

コンパイル時にコマンドラインで '-DNDEBUG'と' -D_GLIBCXX_DEBUG'と書くといいでしょうか? – shuhalo

+0

@shuhalo:コンパイル中に 'NDEBUG'マクロと' _GLIBCXX_DEBUG'マクロを定義したい場合は可能です。 – Mankarse

関連する問題