Директива отладки и препроцессора

Для отладки у меня много вызовов функции журнала отладки в моем приложении. Конечно, в производственной версии эти отладочные вызовы нужно пропустить. Вместо того, чтобы писать:

#if DEVEL == 1
    Log::debug(...);
#endif

вокруг всех вызовов функции отладки, я решил записать следующее в самой функции отладки:

#if DEVEL != 1
    return;
#endif

Будет ли компилятор избегать накладных расходов на бесполезный вызов функции или мне лучше использовать ( многие уродливые) #if #endif конструкция из соображений производительности?

6
задан Brian Tompsett - 汤莱恩 21 June 2016 в 22:17
поделиться