debug macro

some notes about the debug macro

The debug macro is conveninet to in c/cpp program, sometimes, you want to hide these informations in delease version, sometimes you need to use them again when there is bug info. this is an example

#include <iostream>
# define DEBUG(x) std::cerr << x << std::endl;
# define DEBUG(x) do {} while (0)

int main(){
char str[256];
sprintf(str, "self define %d", 123);
DEBUG("debug point");
DEBUG("debug point function name: " << __PRETTY_FUNCTION__);

return 0;

The only necessary thing is to add the parameter -DDEBUG_BUILD when building the program. If the program is compiled by the cmake, just follow this answer, there are multiple ways to set it, such as: