工程化编程实战callback接口学习笔记(作业二)

step-1 编译代码

ERROR原因:menu.c中缺少了string类库,无法使用strcmp
解决ERROR:menu.c中include <string.h>导入类库后,再进行编译

step-2 运行并测试command

使用help打印出所有的command,可以看出只有helpquit,挨个测试功能后发现quit不能按照期望输出

step-3 排查错误原因

可以看到,输出This is a wrong cmd!是因为p是空指针,原因是FindCmd函数返回为空,查看FindCmd函数内容:

FindCmd函数只有一个尾调用,执行SearchLinkTableNode(head,SearchCondition)函数,SearchLinkTableNode代码如下:

call-in方式函数,如SearchLinkTableNode函数,其中有一个函数作为参数,这个作为参数的函数就是callback函数,如代码中Conditon函数

猜你喜欢

转载自www.cnblogs.com/fxding/p/12503111.html