J'utilise une fonction LOG_DEBUG
pour imprimer les informations de débogage à l'écran. J'ai utilisé un #define _DEBUG
pour désactiver la fonction LOG_DEBUG
en définissant _DEBUG
FLAG au moment de la compilation (heure de publication). mais les commandes linux strings
de l'application build build montrent toujours les chaînes de débogage qui existent dans l'application compilée. Alors, quelles sont les alternatives pour éliminer les arguments de LOG_DEBUG
?Supprimer les chaînes de débogage dans la version de construction
#ifdef _DEBUG
#define LOG_DEBUG(fmt, ...) printf("[D][%s:%d %s]", __FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__)
#else
#define LOG_DEBUG(fmt, ...)
#endif
LOG_DEBUG("this is a debug string"); // "this is a debug string" exists in app release build yet
le compilateur J'utilise: ARM/Thumb C/C++ Compiler, RVCT3.1 [Build 569]
: -O3
Veuillez modifier votre question pour inclure le nom et la version du compilateur. Avez-vous essayé de modifier les paramètres d'optimisation? –
Je suppose que * une * façon serait d'entourer ** chaque ** débogage avec un # ifdef, mais je suppose que vous ne voulez pas faire cela;) – Jeeter
il y a un grand nombre d'appels de fonction, je cherche pour une voie plus propre –