我已经看到一些微控制器的库,这些库可以完成诸如控制SPI设备之类的特殊工作。它们使用上下文指针定义外部函数,以用于字节发送和用户必须实现的引脚配置。这是个好习惯吗?
其他一些在其上下文中使用函数指针,但是这些指针可能非常昂贵,并且由于参数传递的限制,某些较早的编译器不允许具有很多参数的函数指针(我记得C51编译器中提供了这一点)
答案 0 :(得分:0)
这取决于您要实现的目标。使用需要由高层实现的外部函数是使用回调的一种非常有效的方法。尤其是在频繁调用它们时,与要取消引用的函数指针相比,它们具有较低的性能损失。但是,指向回调函数的函数指针更加灵活,因为您可以允许它们为null。此外,可以在执行时更改它们。