在 Ubuntu 里,如果你是想查找 copendir 这个函数/符号,可以按下面几种情况来处理。
copendir 是否是标准函数?在 POSIX / Linux / glibc 中:
copendir 这个标准函数opendirclosedirreaddir如果你是在某个代码里看到 copendir,它很可能是:
copendirgrep 在源码中查找(最常用)如果你有源码目录:
grep -R "copendir" .
或者忽略大小写:
grep -Ri "copendir" .
只显示文件名:
grep -Rl "copendir" .
grep -R "copendir" /usr/include/
如果没找到,说明 不是系统标准 API。
nm -D /lib/x86_64-linux-gnu/libc.so.6 | grep copendir
grep -R "copendir" /usr/lib/ /lib/
apt-file 查找(推荐)如果不确定是哪个包提供的:
sudo apt install apt-file
sudo apt-file update
apt-file search copendir
opendir 吗?如果是目录遍历相关函数,下面才是标准用法:
#include <dirent.h>
DIR *dir = opendir(".");
struct dirent *entry;
while ((entry = readdir(dir)) != NULL) {
printf("%s\n", entry->d_name);
}
closedir(dir);
| 情况 | 结论 |
|---|---|
| grep 找不到 | 不是系统标准函数 |
| 只在某个项目里出现 | 可能是自定义函数 |
| 想遍历目录 | 用 opendir/readdir/closedir |
| 不确定来源 | 用 apt-file search |
如果你愿意,可以把 报错信息 / 代码片段 / 来源项目 发出来,我可以帮你精确判断 copendir 到底是怎么回事。