实验七:将menu设计为可重用的子系统


一、实验要求

  • 为menu子系统设计接口,并写用户范例代码来实现原来的功能;

  • 使用make和make clean来编译程序和清理自动生成的文件;

  • 使menu子系统支持带参数的复杂命令,并在用户范例代码中自定义一个带参数的复杂命令;

  • 可以使用getopt函数获取命令行参数。

二、实验步骤

1,利用上次实验的代码,进行修改实现将menu设计成可重用的子系统。新建lab7文件夹,将lab5中代码拷贝进lab7中修改。

实验七:将menu设计为可重用的子系统

2.为menu子系统设计接口,并写用户范例代码来实现原来的功能。

具体步骤如下:

a. 编写menu.h接口,在menu.c中实现,并将内置函数设为static。

实验七:将menu设计为可重用的子系统

实验七:将menu设计为可重用的子系统



实验七:将menu设计为可重用的子系统


b. 编写test.c测试修改后的menu.c能否正常工作。

实验七:将menu设计为可重用的子系统


c.编译运行情况。

实验七:将menu设计为可重用的子系统

d.编写Makefile文件

实验七:将menu设计为可重用的子系统

e.使用make和make clean来编译程序和清理自动生成的文件

实验七:将menu设计为可重用的子系统


f.更改menu.c相关代码,使其支持复杂参数命令。

实验七:将menu设计为可重用的子系统


三、实验代码

实验七:将menu设计为可重用的子系统


四、实验心得

1、经过这次实验,我学会了编写简单的Makefile文件,通过Makefile文件来对自己的工程项目进行编译,但是一定注意使用Makefile时$开头的字符串之间要使用tab符号分开,不能使用空格,因为这个的疏忽前面好几次编译一直不通过

2、学会了简单的封装,将自己的制作编写的一些小项目设计成为更加健壮,可供别人重用的系统。

 3、学习了menu程序的可重用性。


git地址:https://github.com/phny/lab7.git