NSLog的Core Foundation等效函数

11

最接近NSLog功能的Core Foundation函数是什么?


你不能只使用NSLog吗? - Rob Keniger
1
我正在处理的代码是C语言,仅包含CoreFoundation.h头文件,我并不想为了打印日志语句而去修改它。 - Nick Moore
2个回答

10

CFShow()类似,但没有前缀。或者像wbyoung所说,使用NSLog()。如果您不想使用Objective-C,则以下内容是完全有效的(尽管需要与Foundation.framework链接):

#if __cplusplus
extern "C" {
#endif
void NSLog(CFStringRef format, ...);
void NSLogv(CFStringRef format, va_list args);
#if __cplusplus
}
#endif

int main (int argc, const char * argv[])
{
    NSLog(CFSTR("Hello, World! %u"), 42);
    return 0;
}

CFShow似乎是我正在寻找的,还有谢谢你提供的其他建议。 - Nick Moore

3

NSLog是建立在Apple System Log工具之上的。运行man 3 asl可以查看此工具的手册页面。您可以直接使用asl,但除非有必要,否则您可以继续使用NSLog。如果您想避免链接到Cocoa,请包含和链接Foundation。

如果您希望,也可以将内容打印到stderr。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接