盒子:Linux,gcc。
问题 :
通过递归扫描该文件夹,找出包含数千个项目的主文件夹的文件签名。
到目前为止完成:
使用mmap()
系统调用加载每个文件的前 1k 字节并检查文件幻数。该方法的缺点是,对于遇到的每个文件,我都必须进行两次系统调用(例如mmap()
and munmap()
)。
如果可能的话,最好的解决方案:
我想分配一块内存,将每个文件(连续)加载到这个唯一的缓冲区中,并在处理完成后释放它,这意味着对于扫描的每个文件夹,我只会使用两个系统调用。
我不知道使用哪个系统调用来实现这一点,即使这个解决方案是现实的!
任何建议将不胜感激。