posix - nftw的功能替换
解决方案
从您引用的链接:
POSIX.1-2001、SVr4、SUSv1。POSIX.1-2008将ftw()标记为已过时。...
在某些系统上,ftw() 永远不会使用 FTW_SL,在其他系统上,FTW_SL 仅发生在不指向现有文件的符号链接上,而在其他系统上,ftw() 将再次对每个符号链接使用 FTW_SL。对于可预测的控制,请使用 nftw()。
我的解释是,ftw 已经过时,取而代之的是 nftw。所以用那个。
就个人而言,我只会实现我自己的。我读过的每一本入门级 CS 教科书都涵盖了文件系统遍历。我将使用 dir 句柄的 fifo 队列和迭代广度优先循环来避免不必要的函数调用开销,无论是在遍历还是在每个文件挂钩中(在 ftw 中作为函数指针实现)。
推荐阅读
- javascript - GlideJS - 无法读取未定义的属性“孩子”
- postgresql - PostgreSQL n_distinct 统计设置
- ios - 按日期Swift 5使用compactMap对数组进行排序
- python - 尝试将“pyzbar”模块导入 Jupyter Lab 时找不到模块“libiconv.dll”
- reactjs - .less 文件没有被 less-loader 拾取
- php - 我到底做错了什么,我无法从 JSON 访问推文文本?
- python - 如果字符串以特定字符(熊猫)结尾,如何向字符串添加前缀,即在字符串以“-”结尾时添加“-”
- c - 内存地址的数据类型
- python - TensorFlow 2.4.1:内存和运行时效率 SUM(MULTIPLY(X, Y))
- c# - 在不同的服务提供商上注册 IHostedService