C++ 创建类似Linux的实用程序”;df";,基于此实用程序的源代码

C++ 创建类似Linux的实用程序”;df";,基于此实用程序的源代码,c++,c,linux,C++,C,Linux,在大学里,我有一项任务——找到实用工具df的源代码,并使用它编写代码——创建我自己的简单实用工具,如df。 但我只是试着从(例如)编译它的源代码(df.c文件)——gcc编译在库中有错误,还有很多其他错误。。 在第一步-当我这样做时: gcc -o df.out df.c 我有一个错误: df.c:21:20: fatal error: config.h: no such file. 但是在我电脑的/usr/lib文件夹中有这个文件。发生了什么?或者,还有什么方法可以创建我自己的df实用程序

在大学里,我有一项任务——找到实用工具
df
的源代码,并使用它编写代码——创建我自己的简单实用工具,如
df
。 但我只是试着从(例如)编译它的源代码(df.c文件)——gcc编译在库中有错误,还有很多其他错误。。 在第一步-当我这样做时:

gcc -o df.out df.c
我有一个错误:

df.c:21:20: fatal error: config.h: no such file.
但是在我电脑的/usr/lib文件夹中有这个文件。发生了什么?或者,还有什么方法可以创建我自己的
df
实用程序

我的问题是要理解df.c的代码中在做什么,因为 有很多人使用这些常量、函数和“定义” 来自多个标题的变量


您提到的代码中到处都有定义的超链接,因此您可以在需要的地方快速导航。

您不应该单独编译df.c,它是您必须设置和编译的大型项目的一部分。请使用构建系统。键入
/configure&&make&&sudo make install
编译并安装编译原始
df
不是绝对必要的,除非您的目标是添加
printf
语句以更好地理解其运行时的流
df
调用少量库调用(例如
stat
statfs
或类似调用)来完成其工作。如果不编译
df
,您应该能够找到这些,并复制
df
在您自己的程序中所做的。当然,我假设您的大学作业不需要您涵盖全面的
df
实用程序所涵盖的所有选项和角落条件。其中有很多代码与找出可用磁盘空间的大小没有直接关系。您可能需要获取整个
coreutils
源代码树并从中构建。