2010-06-17 57 views
10

什麼是最接近NSLog功能的核心基礎功能?NSLog的等效核心基礎

+0

是否有原因,你不能只使用NSLog? – 2010-06-17 09:55:20

+1

我正在使用的代碼是C,其中只包含CoreFoundation.h頭文件,而我並不是真的只想打印日誌語句。 – 2010-06-18 08:47:35

回答

8

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; 
} 
+0

CFShow似乎是我正在尋找,並感謝其他建議。 – 2010-06-18 08:57:57

3

NSLog建立在Apple系統日誌工具之上。運行man 3 asl以查看此手冊頁。你可以直接使用asl,但除非有原因,否則你可以繼續使用NSLog。如果你想避免鏈接到Cocoa,只需包含並鏈接到Foundation。

如果需要,您也可以直接打印到stderr。