Речь идет не об использовании / не использовании Objective-C.Речь идет о цикле событий в приложениях OS X в целом, который выполняется CFRunloop
, который является C API.См. Управление запуском цикла и Ссылка CFRunLoop .Вам также необходимо соединение с оконным сервером, которое можно установить, позвонив по номеру
вместо
while (true) {
// just hanging
}
, просто сделайте
extern "C" void NSApplicationLoad(void);
NSApplicationLoad(); // establish a connection to the window server. In <Cocoa/Cocoa.h>
CFRunLoopRun(); // run the event loop
Не забудьте связатьпротив Cocoa.framework;просто добавьте -framework Cocoa
в командную строку компилятора.Вы можете #import <Cocoa/Cocoa.h>
, но тогда вам нужно использовать Objective-C ++ из-за объявленных в нем классов Objective-C.
Вы можете использовать
RunApplicationEventLoop(); //establish a connection to the window server
//and runs the event loop. In <Carbon/Carbon.h>
в 32-разрядном приложенииNSApplicationLoad
+ CFRunLoopRun
, но недоступно в 64-битном приложении.