Boost probabilmente ha la maggior parte di ciò che è necessario in termini di threading e networking I/O.
Potresti anche trovare Qt una buona alternativa. Dispone inoltre di librerie di threading e di rete e ha un molto più facile da usare & comprendere il modello di programmazione basato sugli eventi utilizzando un ciclo di esecuzione. Il sistema Qt di segnale/slot è molto facile da usare e ideale per un demone/servizio di rete (Boost include anche un sistema signal/slot ma è più difficile da utilizzare e non include un ciclo di eventi, è necessario eseguire il rollover utilizzando una libreria di eventi) . Come libreria multipiattaforma, Qt può gestire molti dei problemi nel collegare Unix (OS X e Linux) rispetto al modello mentale di Windows per processi, filesystem, ecc.
Per il collaudo di unità, sono stato molto felice con la libreria di test delle unità C++ di Google denominata googletest (sebbene sia Boost che Qt dispongano anche di sistemi di test dell'unità integrati). Funziona su tutte le piattaforme specificate. Ho lavorato molto con googletest su progetti Qt multipiattaforma e l'ho trovato abbastanza soddisfacente.
fonte
2010-04-18 20:51:00
Mi rendo conto che questa domanda è molto, molto vecchio ma di recente ho sviluppato un pezzo correlata di software che non risponde direttamente alla domanda: https: // github.com/cubiclesoft/service-manager/ Non è una libreria ma si occupa delle difficoltà di scrittura dei servizi di sistema multipiattaforma. Il codice sorgente sembra essere scritto in C++, ma per la maggior parte è irrilevante. – CubicleSoft