2013-02-01 10 views
7

D_GLIBCXX_DEBUG ve DNDEBUG bayraklarını anlamaya çalışıyorum.D_GLIBCXX_DEBUG ve DNDEBUG bayrakları hakkında daha fazla bilgiyi nerede bulabilirim?

Ancak bunlar hakkında bilgi bulamıyorum.

Ne yaptıklarını açıklayabilir mi? ve onlar hakkında daha fazla bilgiyi nerede okuyabilirim?

+0

Aslında '_GLIBCXX_DEBUG' ve 'D 'olmadan' NDEBUG '. – ipc

+0

Bu makrolar nelerdir? –

+2

Size gerçek isimleri verdim, şimdi web'de kolayca aranabilirler. – ipc

cevap

5

Her ikisi de D'dan sonra verilen makroyu tanımlayan -D kullanın.

NDEBUG tanımlandığında, assert bağımsız değişkenini denetlemez. _GLIBCXX_DEBUG tanımlanır

, bu libstdc++ içinde debug mode (çeşitli işlemler ile ilgili kontroller gerçekleştirmek için libstdc++ neden olan) aktif hale getirir.

+0

Yani komut satırı ile derleyici oluştururken, '-DNDEBUG' ve' -D_GLIBCXX_DEBUG' yazdınız, değil mi? – shuhalo

+0

@shuhalo: Evet, derleme sırasında 'NDEBUG' ve' _GLIBCXX_DEBUG' makrolarının tanımlanmasını istiyorsanız. – Mankarse