PC-Lint 怎么会忽略表达式或宏
How could PC-Lint ignore an expression or macro
我有一个 xc8 程序,我在其中预定义了 EEPROM:
__EEPROM_DATA (1, 2, 3, 4, 5, 6, 7, 8);
知道我喜欢 PC-Lint 在我的所有文件中忽略这样的表达式。
您应该能够找到您定义的 MACRO
允许进行某些条件编译的 LINT 程序。
例如,使用 SPLINT,您可以让它忽略 __EEPROM 调用
通过使用
/*
* definitions to ease splint checking in non xc8 compiler.
*/
#ifndef S_SPLINT_S
__EEPROM_DATA (1, 2, 3, 4, 5, 6, 7, 8);
__EEPROM_DATA (1, 2, 3, 4, 5, 6, 7, 8);
__EEPROM_DATA (1, 2, 3, 4, 5, 6, 7, 8);
#endif
这样你就可以使用拆分的所有检查而不会收到关于
xc8/PIC 具体代码。
一种可能的方法是将以下内容添加到 .lnt 文件
// activate _to_semi keyword
+rw(_to_semi)
// assign __EEPROM_DATA to "_to_semi" expression that means everything from
// "__EEPROM_DATA" until the next ";" will be ignored by PC-Lint
-d__EEPROM_DATA=_to_semi
我有一个 xc8 程序,我在其中预定义了 EEPROM:
__EEPROM_DATA (1, 2, 3, 4, 5, 6, 7, 8);
知道我喜欢 PC-Lint 在我的所有文件中忽略这样的表达式。
您应该能够找到您定义的 MACRO 允许进行某些条件编译的 LINT 程序。 例如,使用 SPLINT,您可以让它忽略 __EEPROM 调用 通过使用
/*
* definitions to ease splint checking in non xc8 compiler.
*/
#ifndef S_SPLINT_S
__EEPROM_DATA (1, 2, 3, 4, 5, 6, 7, 8);
__EEPROM_DATA (1, 2, 3, 4, 5, 6, 7, 8);
__EEPROM_DATA (1, 2, 3, 4, 5, 6, 7, 8);
#endif
这样你就可以使用拆分的所有检查而不会收到关于 xc8/PIC 具体代码。
一种可能的方法是将以下内容添加到 .lnt 文件
// activate _to_semi keyword
+rw(_to_semi)
// assign __EEPROM_DATA to "_to_semi" expression that means everything from
// "__EEPROM_DATA" until the next ";" will be ignored by PC-Lint
-d__EEPROM_DATA=_to_semi