2010-06-17 31 views
10

Chức năng Core Foundation gần nhất với chức năng của NSLog là gì?Core Foundation tương đương với NSLog

+0

Có lý do nào bạn không thể sử dụng NSLog không? –

+1

Mã tôi đang làm việc là C, chỉ bao gồm tiêu đề CoreFoundation.h và tôi không thực sự muốn gây rối với điều đó chỉ để in một bản ghi nhật ký. –

Trả lời

8

CFShow() tương tự, nhưng không có tiền tố. Hoặc, như wbyoung nói, hãy sử dụng NSLog(). Nếu bạn không muốn sử dụng Objective-C, điều sau đây là hoàn toàn hợp lệ (mặc dù nó yêu cầu liên kết với 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 có vẻ là những gì tôi đang tìm kiếm và cảm ơn đề xuất khác. –

3

NSLog được xây dựng trên cơ sở Nhật ký hệ thống của Apple. Chạy man 3 asl để xem trang hướng dẫn này. Bạn có thể sử dụng asl trực tiếp, nhưng trừ khi có một lý do, bạn chỉ có thể tiếp tục sử dụng NSLog. Chỉ cần bao gồm và liên kết với Foundation nếu bạn muốn tránh liên kết đến Cocoa.

Bạn cũng có thể in ra bản gốc nếu muốn.