实验五用callback增强链表模块来实现命令行菜单小程序V2.8

作者:神秘网友 发布时间:2020-06-05 01:58:07

实验五用callback增强链表模块来实现命令行菜单小程序V2.8

实验五:用callback增强链表模块来实现命令行菜单小程序V2.8

网易云ID:Nerd2dian0

GitHub源码: https://github.com/Nerd2dian0/Youcan/tree/master/lab5(下面的是修改的主要代码,想看全部代码请看gayhub,谢谢!报告质量不在贴图多少)

实验要求:

实验五用callback增强链表模块来实现命令行菜单小程序V2.8

具体过程:

任务一,寻找bug:

从云盘下载好源代码,上传给GitHub,演示后quit命令出现问题:

实验五用callback增强链表模块来实现命令行菜单小程序V2.8

分析原因,源码在linktable.c中SearchLinkTableNode中存在语句while(pNode != pLinkTable->pTail),而quit是尾节点,从而出错。

实验五用callback增强链表模块来实现命令行菜单小程序V2.8

修改后的代码为:

实验五用callback增强链表模块来实现命令行菜单小程序V2.8

演示结果:实验五用callback增强链表模块来实现命令行菜单小程序V2.8

任务二、三,利用callback使接口更通用以及接口信息的隐藏:

 menu.c 和 LinkTable.c体现callback如下:

menu.c:

实验五用callback增强链表模块来实现命令行菜单小程序V2.8

linktable.c

实验五用callback增强链表模块来实现命令行菜单小程序V2.8

具体过程是:在主函数中调用了FindCmd函数从而调用linktable.c中的searchlinktable,searchlinktable  回调(callback)menu.c中的searchcondition函数,进行匹配,如果命令匹配返回命令对应值。

接口信息的隐藏:将linktable.h的结构体转移给linktable.c中实现了信息的隐藏。

遇到的问题,将信息隐藏时,需要在linktable.h中对结构体定义。

实验总结:初步认识了callback的调用和信息隐藏,使得接口更安全更方便使用。



实验五用callback增强链表模块来实现命令行菜单小程序V2.8相关教程

  1. 转录组分析
  2. 面向对象分析与设计—— 实验四 顺序图或通信图
  3. 面向对象分析与设计—— 实验二Use Case图与Use Case详细描述
  4. 数据库实验小汇总
  5. 一次内网渗透测试实验过程
  6. 理论+实验·Squid代理服务器应用---ACL访问控制、Squid日志分析
  7. Nagios的安装和配置
  8. 实验四 DPCM编码