19得票2回答
在C语言中:func(void)与func()有何区别?

当一个C函数不接受任何参数时,根据语言规则,它是否必须使用“void”参数声明/定义?PC-Lint似乎在参数列表中没有任何内容时会出现问题,我想知道这是否与我不了解的语言语法有关。 编辑: 我刚刚找到了一个重复的问题,在“C void arguments”中有更多的答案和解释。

8得票2回答
MISRA C 2012是否禁止使用bool?

我正在新项目的初期进行框架构建。 我定义了一个返回类型为“bool”的函数。 这是PC-Lint的输出结果。 Including file sockets.h (hdr) bool sock_close(uint8_t socket_id); ^ "LINT: sockets.h...

7得票3回答
MISRA 2012违规 - 类型不匹配(规则10.1,10.4)

我遇到了一个MISRA C 2012的违规问题,但我无法理解。以下是代码: #define I2C_CCRH_FS ((uint8_t)0x80) #define I2C_CCRH_DUTY ((uint8_t)0x40) #define I2C_CCRH_CCR (...

7得票1回答
在使用第三方库的项目中使用PC-Lint

我有一个项目,其中包含一个大型的第三方库,并且需要确保项目是无错的。然而,这个库有几千个错误。但是,修改库以消除这些错误不是一个选择 - 通常会如何处理这种情况?目前,代码是使用Keil uVision构建的,并且从这里调用了PC-Lint。因此,如果仍然可以这样做,那将是最好的选择。是否有一...

7得票2回答
PC Lint中while(TRUE)和for(;;)的区别

我第一次使用PC Lint,当我在“linting”我的代码时,PC Lint警告了我关于while(TRUE)的问题。 它的提示如下: 716: while(1) ... -- 发现了一个形式为while(1) ...的结构。 这表示在期望布尔值的上下文中出现了常量,可能反映了编程策略...