【发布时间】:2017-09-08 12:35:13
【问题描述】:
我正在为操作系统课程学习 C,并且刚刚按照教科书的说明编写了这个程序:
#include <dirent.h>
#include <stdio.h>
#include "quit.h"
int main(int argc, char **argv) {
DIR *dir;
struct dirent *direntry;
arg_check(2, argc, "Specify a directory\n", 1);
if ( (dir = opendir(argv[1])) == NULL)
quit("opendir", 1);
while ((direntry = readdir(dir)) != NULL)
printf("%10d %s\n", direntry->d_ino, direntry->d_name);
closedir(dir);
exit(0);
}
这段代码完全是从教科书中复制的,但quit.h 似乎导致编译文件。我曾尝试将“quit.h”切换为 和“quit”,但这些都不起作用,而且我找不到有关此特定问题的其他问题。
【问题讨论】:
-
文件
quit.h是否与你的C源文件在同一目录下? -
或者换个说法——文件quit.h在哪里
-
哪本书?
-
“这段代码完全是从教科书中复制过来的”——
quit.h的内容和相对位置是否具有类似的启示? -
如果 quit.h 文件位于与您的源目录不同的目录中,您可以使用 -I compile 选项对其进行编译。
标签: c gcc c-standard-library