事情是从下面这个函数开始的
static void dap_delay_us(int delay)
{
while (delay)
{
int del = (delay > 100000) ? 100000 : delay;
DAP_CONFIG_DELAY((DAP_CONFIG_DELAY_CONSTANT * 2 * del) / 1000);
delay -= del;
}
}
你知道这个函数的声明类型static是什么意思吗?
很多人知道定义变量用这个叫静态变量
那么修饰函数那肯定就是静态函数了,静态函数该如何理解?
在函数的返回类型前加上关键字static,函数就被定义成为静态函数。函数的定义和声明默认情况下是extern的,但静态函数只是在声明他的文件当中可见,不能被其他文件所用。
C语言中使用静态函数的好处:
(1)、静态函数会被自动分配在一个一直使用的存储区,直到程序结束才从内存消失,避免调用函数时压栈出栈,速度快很多
(2)、其他文件可以定义相同名字的函数,不会发生冲突
(3)、静态函数不能被其它文件调用,作用于仅限于本文件
|