笔记

转载 2017年01月03日 22:16:59

在低功耗蓝牙协议栈1.3.2的每个任务事件处理函数第一个语句怎么都是 VOID task_id;

VOID task_id; // OSAL required parameter that isn't used in this function

因为在调用系统事件api的时候,已经将自身任务id注册到系统了,当接收到对应的消息或事件,系统会查找已经注册的任务id,然后发送事件消息给这个任务。 根据契约式编程规范,参数检查可以由调用者或者被调用者检查,ti的协议栈是由调用者来保证调用参数的正确性,所以被调用者就无需做额外参数检查 作为被调用者(也就是用户任务),不用检查task_id,为了避免编译器警告,所以在参数前加void,表示舍弃这个参数 希望能帮到你。

(void)加在函数名前面的作用:
我们知道,在定义函数时,加在函数名前的“void”表示该函数没有返回值。但在调用时,在函数名前加“(void)”的作用又是什么呢?最明显的一点就是表示程序并不关心调用该函数后的返回值是什么,比如函数strcpy,我们直接用“strcpy(des_str, src_str);”这样的形式来调用。“(void)strcpy(des_str, src_str);”这样的形式还真不多见!原因是这种写法不针对人,也不针对编译器,而是针对静态代码检测工具,它会把函数返回值作为一项检测标准。在某些大公司,比较重视代码规范,若在代码静态检测时需要检测该项。此时就需要用在被调用的函数(名)前加上“(void)”这种形式来告诉静态代码检测工具程序并非没有处理该函数的返回值,而是该处确实不需要处理它(该函数的返回值),不需要再对该处代码作此项检测。其实这和我们在代码中使用“#pragma warning (disable: XXXX)”的道理是一样的。


帧检验序列即 frame check sequence
让接收网卡或接口判断是否发生了错误。判断过程如下:发送网卡利用多项式计算,称循环冗余校验(CRC),将计算结果写入FCS字段,接收方收到这个,对其做相同的CRC计算。如果计算结果与接收的FCS字段相同,则没有发生错误。如果不同,接收方就相信肯定发生了错误,并丢弃这个


JavaEE2017最新版基础班学习笔记

  • 2017年12月08日 21:46
  • 20KB
  • 下载

web开发学习笔记

  • 2017年12月06日 09:40
  • 549KB
  • 下载

(五) 畸变矫正—让世界不在扭曲 【计算机视觉学习笔记--双目视觉几何框架系列】

这篇博文所要讲述的内容,是标定的主要用途之一:矫正摄像机的畸变。对于图像畸变矫正的方法,张正友教授也在其大作“A Flexible New Technique forCamera Calibratio...

Flex学习笔记(flex必知必会).doc

  • 2017年12月02日 15:38
  • 734KB
  • 下载

TensorFlow入门教程(3)

TensorFlow入门笔记(3) 训练(tf.train API)

LoadRunner性能测试学习笔记

  • 2017年12月11日 10:29
  • 160KB
  • 下载

Storm 笔记 nc集成log输出 hashmap.clear() storm集成kafka maven复制jar包到共享目录下

Topology:有向图,顶点是计算,边是数据流。 Install dependencies on Nimbus and worker machines Next you need t...

NA学习笔记

  • 2017年12月08日 13:56
  • 16KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:笔记
举报原因:
原因补充:

(最多只允许输入30个字)