0

我有一个 xc8 程序,我在其中预定义了 EEPROM:

__EEPROM_DATA (1, 2, 3, 4, 5, 6, 7, 8);

知道我喜欢 PC-Lint 在我的所有文件中忽略这样的表达式。

4

2 回答 2

2

一种可能的方法是将以下内容添加到 .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
于 2018-09-24T12:27:57.600 回答
0

您应该能够找到由您的 LINT 程序定义的 MACRO,它允许进行一些条件编译。例如,使用 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 特定代码的警告。

http://www.splint.org/manual/html/sec14.html

于 2018-09-21T08:07:06.053 回答