3
我正在編寫一個使用inotify監視文件訪問的守護進程,並且在遞歸搜索時不會錯過任何內容。我發現this interesting idea並已開始實施它。 ftw()和ftw64()不使用寬度優先算法,其更多的「預定義」。 nftw()給了我深度優先的選項,但我擔心上部葉子的比賽。是否有POSIX函數或glibc擴展實現寬度優先的文件樹遍歷?
我希望我錯過了一些東西,也許是一個GNU擴展?或者我只是看着用類型安全回調來實現我自己(我真的不想這麼做)?
或者,對於這種類型的應用程序,我是否理解寬度優先,深度優先錯誤?
你可能不需要這個了,但我實現了nftw(3)的寬度優先變體:https://github.com/tavianator/bfs/blob/master/bftw.c – 2015-06-15 02:01:27
@TavianBarnes看起來很像很好,很獨立,可能考慮將它發送到[CCAN](http://ccodearchive.net/)?在這個特定的例子中,我只是將深度優先的行爲作爲一個限制,我現在要重新訪問該代碼:) – 2015-06-15 06:51:35
關於CCAN的呃,TIL。我會在進行一些更改並編寫一些測試後考慮上傳它:) – 2015-06-15 14:28:13