【发布时间】:2020-06-17 15:41:14
【问题描述】:
我见过一些用于执行特殊工作(例如控制 SPI 设备)的微控制器库。它们使用上下文指针定义外部函数,用于用户必须实现的字节发送和引脚配置。这是一个很好的做法吗?
其他一些在其上下文中使用函数指针,但这些指针可能非常昂贵,并且由于参数传递限制,一些较旧的编译器不允许具有大量参数的函数指针(我记得 C51 编译器中的这一点)
【问题讨论】:
-
在我看来更好的是使用函数指针,因为它可以为 NULL,如果用户不想使用,则不必执行此操作。必须实施是错误的想法。函数指针中的参数不必很多,可以换成scructure或者
void*。 -
“外部函数”是什么意思?具有
extern链接的函数?一个全局的函数指针?能给个代码示例吗?