Core Foundation эквивалентен NSLog

Какова ближайшая функция Core Foundation для функциональности NSLog?

Ответ 1

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

Ответ 2

NSLog построен поверх системы "Системный журнал Apple". Запустите man 3 asl, чтобы просмотреть страницу man для этого. Вы можете использовать asl напрямую, но если нет причины, вы можете просто использовать NSLog. Просто включите и ссылку на Foundation, если вы хотите избежать ссылки на Cocoa.

Вы также можете просто печатать на stderr, если хотите.