读书人

有一段代码百思一得其解。TI的高级工

发布时间: 2013-11-26 22:51:31 作者: rapoo

有一段代码,百思一得其解。TI的工程师写的,一句。


另外,文件开头已经定义了 
#define VOID (void) 

我想的是, VOID task_id; 这句是干嘛用的。



[解决办法]

引用:
Quote: 引用:

应该不是标准 C/C++ 的做法,可能是特定编译器支持的一个方式,表示该参数无效(unspecified)。


既然表示参数无用,为什么要传进来呢?


有利于函数原型统一,有些需要传参数,有些不需要,避免定义两个函数原型。
写osal的时候的眼光可能不只是在TI的芯片上。这是一个通用的类操作系统。
[解决办法]
引用:
Quote: 引用:

task_id 没有使用,有些编译器会 产生 warning,这样是为了消除 warning


编译器只有一种,因为这些代码只是供一类芯片使用的。
我将这句注释掉了,编译器没有报错。

只会是 warning ,没有错。
这些代码只是供一类芯片使用,但编译器不一定只有一种,比如 keil、iar、gcc,在gcc里就有warning,ti写的时候并不知道用户用什么编译器,而且在开发中要消除warning的。

读书人网 >单片机

热点推荐