在 Debian(以及其它 Linux 系统)中,readdir 是 C 标准库(glibc) 提供的函数,用于读取目录内容。
具体说明如下:
libc(通常是 glibc,即 GNU C Library)#include <dirent.h>
gcc 默认链接 libc:gcc test.c -o test
如果是静态或特殊情况,可显式写:gcc test.c -o test -lc
readdir 通常和以下函数一起使用:
opendir()readdir()closedir()示例:
#include <dirent.h>
#include <stdio.h>
int main() {
DIR *dir = opendir(".");
struct dirent *entry;
while ((entry = readdir(dir)) != NULL) {
printf("%s\n", entry->d_name);
}
closedir(dir);
return 0;
}
你可以用以下命令确认:
man readdir
或查看实现来源:
ldd ./your_program
通常会看到:
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
✅ readdir 属于 glibc(libc)
✅ 头文件是 <dirent.h>
✅ 不需要额外安装库(Debian 默认已带)
如果你问的是 readdir 系统调用(如 getdents),那属于 Linux 内核,但用户态一般直接用 readdir(库函数)。