工程化编程实战callback接口学习笔记

1.在VSCode下编译运行menu

编译menu,成功运行后执行help,quit命令,运行quit时发现无法正常执行

工程化编程实战callback接口学习笔记_第1张图片

2.使用GDB调试

查看代码,在109行处打上断点,执行quit后发现p指针为空。于是查看FindCmd函数 

工程化编程实战callback接口学习笔记_第2张图片

 

工程化编程实战callback接口学习笔记_第3张图片

 

 查看代码发现  while条件跳过了尾部指针,将条件改为pnode!=null后 成功运行quit命令。

工程化编程实战callback接口学习笔记_第4张图片

 

 工程化编程实战callback接口学习笔记_第5张图片

 

3.分析callbac接口

用一张图来说明什么是回调函数

工程化编程实战callback接口学习笔记_第6张图片

 

 

假设我们要使用一个排序函数来对数组进行排序,那么在主程序(Main program)中,我们先通过库,选择一个库排序函数(Library function)。但排序算法有很多,有冒泡排序,选择排序,快速排序,归并排序。同时,我们也可能需要对特殊的对象进行排序,比如特定的结构体等。库函数会根据我们的需要选择一种排序算法,然后调用实现该算法的函数来完成排序工作。这个被调用的排序函数就是回调函数(Callback function)。

 

你可能感兴趣的:(工程化编程实战callback接口学习笔记)