Сделайте себе одолжение и держитесь подальше от ACE. Это ужасная, ужасная библиотека, которая никогда не должна была быть написана, если вы спросите меня. Я работал (или, скорее, ДОЛЖЕН работать с ним) в течение 3 лет, и я говорю вам, что это плохо спроектированный, плохо документированный, плохо реализованный кусок хлама, использующий архаичный C ++ и построенный на совершенно безумных дизайнерских решениях ... вызывающий ACE «C с классами» на самом деле делает это одолжение. Если вы посмотрите на внутренние реализации некоторых из его конструкций, вам часто будет трудно подавить рвотный рефлекс.
Кроме того, я не могу не подчеркнуть аспект «плохой документации». Обычно понятие ACE о документировании функции заключается в простой печати подписи функции. Что касается значения его аргументов, его возвращаемого значения и его общего поведения, то, как правило, вам остается это выяснить самостоятельно. Мне надоело гадать, какие исключения может выдавать функция, какое возвращаемое значение означает успех, какие аргументы я должен передать, чтобы функция делала то, что мне нужно, или функция / класс поточно-ориентирована или нет.
Boost, с другой стороны, прост в использовании, современный C ++, чрезвычайно хорошо документирован, и он просто РАБОТАЕТ! Ускорение - путь к успеху, с ACE!