Я создаю код C ++, который используется на Android и iOS. Мне нужна некоторая форма макроса отладчика, чтобы легко вставить отладку в код.
Например, я думал о чем-то вроде этого:
#ifdef ANDROID
# define MY_DEBUG(debugmsg) __android_log_print(ANDROID_LOG_INFO, ANDROID_DEBUG_TAG,debugmsg)
# define MY_DEBUG(debugmsg, mystr) __android_log_print(ANDROID_LOG_INFO, ANDROID_DEBUG_TAG,debugmsg,mystr)
#elif defined (iOS)
# define MY_DEBUG(debugmsg) printf(debugmsg)
# define MY_DEBUG(debugmsg, mystr) printf(debugmsg, mystr)
#endif
Так, например, я мог бы использовать MY_DEBUG ("привет% s", "мир") и MY_DEBUG ("привет")
Однако он жалуется на переопределение макросов (и это справедливо). Как сделать макрос .. «перегрузить» или принять более одного параметра, если он введен?
Также - printf () отправляет данные на консоль iOS?