1. uint64_t 打印出来
uint64_t lo_freq_hz;
char *freq_ptr = u64_to_str(lo_freq_hz);
DBG_FLOW("tx_lo_freq= %s \r\n",freq_ptr );
char * u64_to_str(uint64_t val)
{
uint8_t tmpbuff[32];
uint8_t cnt = 0;
int i,j;
uint64_t tmp;
uint8_t num_tmp = 0;
memset(tmpbuff, 0, sizeof(tmpbuff));
while(1) {
num_tmp = val % 10;
tmp = val / 10;
if ((tmp == 0) && (num_tmp == 0)) {
//DBG_FLOW("\r\nbreak\r\n");
break;
}
tmpbuff[cnt++] = num_tmp + '0';
val = tmp;
//DBG_FLOW("%d",num_tmp);
}
j = 0;
memset(g_u64strbuff,0,sizeof(g_u64strbuff));
for (i = cnt -1; i >= 0; i--) {
g_u64strbuff[j++] = tmpbuff[i];
}
//DBG_FLOW("%s\r\n",g_u64strbuff);
return (char * )g_u64strbuff;
}
2.
静态函数在函数的返回类型前加上关键字static,函数就被定义成为静态函数。 函数的定义和声明默认情况下是extern的,但静态函数只是在声明他的文件当中可见,不能被其他文件所用。 ... 静态局部对象在程序执行到该对象的声明处时被首次初始化。
在C中,static主要定义全局静态变量、定义局部静态变量、定义静态函数。
1、定义全局静态变量:在全局变量前面加上关键字static,该全局变量变成了全局静态变量。全局静态变量有以下特点。
a.在全局区分配内存。
b.如果没有初始化,其默认值为0.
c.该变量在本文件内从定义开始到文件结束可见。
2、定义局部静态变量:在局部变量前面加上关键字static,其特点如下:
a.该变量在全局数据区分配内存。
b.它始终驻留在全局数据区,直到程序运行结束。
c. 其作用域为局部作用域,当定义它的函数或语句块结束时,其作用域随之结束。
3、定义静态函数:在函数返回类型前加上static关键字,函数即被定义为静态函数,其特点如下:
a.静态函数只能在本源文件中使用
b.在文件作用域中声明的inline函数默认为static类型