Из того, что я понимаю, утверждается, что это макрос в C и предположительно, если вы используете его во время компиляции, но оставьте его отключенным, тогда не будет накладных расходов (что может быть неверно, я не знаю). Проблема для меня заключается в том, что то, что я хотел бы сделать, это получить все переменные, переданные моей функции, и распечатать этот вывод, но только если я хочу, чтобы отладка была включена. Вот то, что я до сих пор:Есть ли более простой способ, чем использование #ifdef в C?
int exampleFunction (int a, int b)
{
#ifdef debugmode
printf("a = %i, b = %i", a, b);
#endif
}
мне интересно, если есть какой-либо проще (и менее уродливый) способ сделать что-то вроде этого. xdebug для php имеет эту функцию, и я нашел, это экономит мне огромное количество времени при отладке, поэтому я хочу сделать это для каждой функции.
Благодаря
в Assert() макрос отключен полностью, если NDEBUG определен, поэтому, если это определено в режиме деблокирования, накладных расходов не будет. –