gpt4 book ai didi

iphone - 如何制作一个采用格式化字符串+几个附加参数的宏,就像 NSLog 一样?

转载 作者:行者123 更新时间:2023-12-03 17:00:29 25 4
gpt4 key购买 nike

这是练习用的。我尝试构建类似于 NSLog 的东西。目前我有这个:

#define LogThis(info) \
[[MyLogger sharedLogger] logThis:info];\


- (void)logThis:(NSString*)info {
fprintf(stderr, [[NSString stringWithFormat:@" %@\n", info] cString]);
}

目前我能做的就是向它传递一个简单的@"string",但没有像 NSLog 那样的格式和参数。这里的主要优点是我摆脱了 NSLog 产生的所有这些开销。出于学习目的,我想知道如何获取多个参数来制作类似于 NSLog 的内容,以便我可以调用:

LogThis(@"method foo received input value %d", inputValue)

这可能吗?

最佳答案

以下是在 gcc 的 cpp 中定义可变参数宏的方法:

#define LogThis(format, ...) \
do { printf(format, ## __VA_ARGS__); } while(0)

关于iphone - 如何制作一个采用格式化字符串+几个附加参数的宏,就像 NSLog 一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1797164/

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