本帖最后由 csdnpurple 于 2022-3-26 11:30 编辑
要体会回调函数,必须将其放到具有动态装配软件模块的系统中才可以显现出来,比如windows linnux等,不同的软件模块是分别编译的,由于软件的维护方便将软件的调用搞成回掉函数后是软件的调用地址可以通过管道、总线、内存等相对固定的通讯方式传递,试想两个独立编译的软件模块中的函数AB相互调用,A并不知道B的编译链接系统加载后的内存地址位置,如果B软件模块将B函数的地址在软件启动时放在指定的内存位置A就可以获得B的地址可以调用了,当然B的地址可以通过很多其他方法传递,但都必须将B作为数据传递才行。如果看不懂上面的描述,要进一步了解计算机体系结构、操作系统(包括软件模块的动态加载的系统,软件模块在内存中结构)、编译原理(obj文件格式exe文件格式)。 |