我想知道如何获得快速目录列表,例如,整个硬盘驱动器
在C ++中,我一直在使用带有递归目录列表的dirent.h
。这当然很好用,但是你列出的越多,花费的时间越长,500GB的驱动器很容易花费一个小时进行扫描。
这与碎片有关,而一个文件或目录可能位于磁盘的外部,下一个可能位于最里面。最糟糕的情况是每次读取访问时从最内部到最外部的跳跃。
当然硬盘永远是瓶颈,但我使用的应用程序在大约2-5分钟内提供了驱动器的目录列表。
他们是怎么做到的?
谷歌的一些消息来源说了一些关于访问"主文件表"文件系统。
好吧,但是我怎么做呢以及NTFS,FAT,Ext4,他们肯定使用不同风格的表格,不是吗?
嗯,这是一个非常广泛的问题,我知道,所以为了澄清,我把它缩小到这个:
有人可以解释这些"主文件表"以及所提到的文件系统如何使用它们
使用这些表是正确的方法吗?
我如何在C ++中访问这样的表,他们肯定没有像/root/.filesystem/master_file_table
这样的路径。
欢迎任何解释,资源或推动正确的方向,提前谢谢!