gpt4 book ai didi

Android - 跨平台友好的调试/记录器宏

转载 作者:太空宇宙 更新时间:2023-11-04 12:15:34 25 4
gpt4 key购买 nike

我正在构建可在 Android 和 iOS 上使用的 C++ 代码。我需要某种形式的调试器宏来轻松地将调试插入代码中。例如,我在想这样的事情:

#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("hello %s","world") 和 MY_DEBUG("hello")

但是它提示宏重新定义(这是理所当然的)。我如何制作一个宏..“重载”,或者在输入时接受多个参数?

此外 - printf() 是否将数据发送到 iOS 控制台?

最佳答案

您不能像使用函数那样重载宏,因为预处理器自 C 以来没有发生重大变化,如果有的话。一种常见的方法是使用 MY_DEBUG 和 MY_DEBUG2 等。

variatic macros但我在多平台代码中避免使用它们。

关于Android - 跨平台友好的调试/记录器宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7847200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com