ho output di debug nel mio programma come questo:#defines automatico secondo Debug/Release config in Visual Studio 2010
#ifdef DEBUG
std::cout << "[RE_words] " << re << std::endl;
try {
boost::regex regex(re);
std::cout << "[RE_words] " << "passed" << std::endl;
} catch (exception& e) {
std::cout << "[RE_words] " << "failed: " << e.what() << std::endl;
}
#endif
e DEBUG
è definito nel mio programma manualmente. Esprimo sempre il commento quando faccio una versione di rilascio. In Visual Studio 2010 ci sono anche le "Configurazioni" per Debug vs Release versioni che gestiscono la riga di comando ecc. Utilizzata per la compilazione. Posso usare anche la configurazione "Debug" per definire automaticamente DEBUG
nel compilatore? Come?
Per inciso, NDEBUG è la soluzione portatile. È un po 'sfortunato che non esista un simbolo standard per le build di DEBUG. –
Ciao, come puoi essere sicuro che vs definisca quelle macro? su msdn menziona solo _DEBUG, non NDEBUG, dove posso vedere una lista con tutti i macro che VS fa per te per favore? – Icebone1000
@ Icebone1000: ho aggiunto un collegamento a una risposta che spiega se NDEBUG è o meno un simbolo standard e perché dovrebbe essere considerato portatile. Vedere la [lista di macro predefinite] (http://msdn.microsoft.com/en-us/library/b0084kay (v = vs.110) .aspx) nel VS. –