Синглтоны плохи с точки зрения пуриста.
С практической точки зрения, синглтон - это компромисс между временем развития и сложностью .
Если вы знаете, что ваше приложение не изменится настолько, с ним все в порядке. Просто знайте, что вам может потребоваться рефакторинг, если ваши требования неожиданно изменятся (что в большинстве случаев вполне нормально).
Синглтоны иногда также усложняют юнит-тестирование .
как оказалось, ответ довольно прост ...
Начиная с версии 10.5 Leopard, средства FireLog встроены в ОС, и приложение / фреймворк FireLog больше не нужны!
см. FireWireKPrintf Readme.txt
и
man fwkpfv
Мне пришлось вручную установить файлы заголовков в:
/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/IOKit/firewire/IOFireLog.h /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/IOKit/firewire/IOFireLog.h
Вы можете сделать то же самое, просто добавив объявление FireLog в файл заголовка в вашем проекте. :
void FireLog( const char *format, ... );
FireLog имеет гораздо более высокую производительность, чем FireWireKprintf, поэтому его может быть выгодно использовать, особенно в случаях, когда желательно вести журнал быстрой активности с меньшим ухудшением производительности.