Как PC-Lint может игнорировать выражение или макрос - PullRequest
0 голосов
/ 06 июля 2018

У меня есть программа xc8, в которой я предварительно определяю EEPROM:

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

Знайте, я люблю PC-Lint, чтобы игнорировать такое выражение во всех моих файлах.

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

Возможным способом будет добавление следующего к .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
0 голосов
/ 21 сентября 2018

Вы должны быть в состоянии найти 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.

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

...