实验中遇到的问题
1,首先是gcc编译问题
一开始我不知道怎么编译main.c文件,因为如果按照平常的方式来编译的话会出现找不到其他依赖的文件的错误信息,到后来我才理解了了main.c文件运行需要依赖head.h这个文件,而head.h文件中是函数的定义,这里同样需要连接到相应函数的.c文件,所以也需要一起编译,故最后的编译方式使用gcc *.c *.h
,效果如图:
可以看到,成功生成了a.out文件。
2,接着是makefile问题
一开始我并不知道makefile的原理和格式,接着查阅了老师上课的PPT,我得到了解决方案,查阅内容如下:
可以看到makefile的格式,最后解决问题的方法如图:
第一行是编译的文件,第二行是具体执行的命令。接下来运用我们前面的知识就可以得出后面一题的答案。
3,最后一个问题是遇到的文件路径问题
我按照老师要求把文件放入相应的目录(bin,src,include,lib)中时遇到了文件路径的问题,就是找不到head.h这个头文件,通过上网查阅资料,和运用python编写脚本的经验,解决方法是运用相对路径进行定位,比如我们的main.c文件中要声明head.h文件,而head.h文件在上一目录的include文件中时,我们就需要使用 ../include/head.h
这样的路径来进行定位,效果如图:
总结
这一部分知识感觉比较基础,还是期待老师可以教我们点linux内核方面的知识,比如linux操作系统内核中的数据结构之类的知识。