2011-09-08 13 views
11

Esiste una libreria portatile per la visualizzazione delle modifiche al file system senza il polling?Libreria portatile di directory/file in C/C++

So che c'è

ma non ho trovato alcun involucro portatile per quelli.

C'è un wrapper portatile per Linux, Windows e OS X o un sottoinsieme di quelli?

+1

GLib's [GIO] (http://developer.gnome.org/gio/2.29/GFileMonitor.html) utilizza GAMIN che copre Linux e FreeBSD, nessuna idea su OSX o Windows. –

+0

Java non è abbastanza portatile per te? O hai esplicitamente bisogno di un wrapper C++? – dmeister

+0

Java ha un ingombro di memoria e spazio su disco per l'attività – flob

risposta

4

QFileSystemWatcher - Qt è molto multipiattaforma.

+0

Sembra una possibile soluzione. Ma ho sperimentato il moc pre-compilazione e la compilazione/collegamento lento non soddisfacente. Spero ancora che esista una soluzione più snella (senza tagliare Qt a mano.) – flob

+0

CMake rende la roba MOC molto semplice, QtCore è una libreria molto leggera, non ho mai notato un tempo extra significativo per compilare/link ma potresti provare GNU Gold come un linker di sostituzione più veloce http://en.wikipedia.org/wiki/Gold_(linker) – spraff

+0

FYI: Su Windows 'QFileSystemWatcher' e' FindNextChangeNotification' non funzionano correttamente su condivisioni di rete su server linx che usano una versione obsoleta di samba (abbiamo un server in esecuzione con la versione 3.0.22, che problemi). In questi casi è necessario forzare QFileSystemWatcher per utilizzare l'implementazione del polling. – smerlin

1

Dai un'occhiata a jnotify. È scritto in java e può essere eseguito su tutti i principali SO.

Problemi correlati