Forum: Mikrocontroller und Digitale Elektronik Einrichten PC-Lint


von Michael (Gast)


Lesenswert?

Hallo

Ich versuche gerade PC-Lint so einzurichten, dass im Quellcode Macros 
wie "ClrWdt()" oder "__CONFIG(...) nicht gleich zum Anschlagen des MISRA 
checkers führen. Hat da jemand eine Idee?
Vielen Dank für jede Hilfe.

Michael

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Naja, Du verletzt da gleich zwei sinnvolle Vorgaben -- einerseits werden 
Makros per Konvention großgeschrieben und andererseits darf nichts mit 
vorangestelltem Unterstrich beginnen.

Vermutlich ist es genau das, was hier angekreidet wird.

Eine Abhilfe wäre es, das zu korrigieren.

Ansonsten lässt Lint meines Wissens nach das Deaktivieren einzelner 
Warnungen zu, 's ist aber schon arg lange her, daß ich den mal verwendet 
habe.

von Guest (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> und andererseits darf nichts mit
> vorangestelltem Unterstrich beginnen.

Kleine Korrektur, ein Unterstrich ist erlaubt aber zwei Unterstriche ist 
gewöhnlich für Compilerdefinitonen vorbehalten.

von Steffen R. (steffen_rose)


Lesenswert?

Hört sich nach dsPic an.

Sind es folgende Meldungen, die Dich stören?
1
Note 961: Violates MISRA 2004 Advisory Rule 19.7, Function-like macro defined: 'ClrWdt' 
2
Note 961: Violates MISRA 2004 Advisory Rule 19.7, Function-like macro defined: '__CONFIG' 
3
Note 960: Violates MISRA 2004 Required Rule 20.2, Re-use of C90 identifier pattern: __CONFIG

Wenn Du jetzt 960 und 961 abschaltest, schaltest Du fast die ganzen 
relevanten Misra-Meldungen ab.

Dort, wo die defines stehen:

/*lint -save -e961 -e960 */
#define ClrWdt()
#define __CONFIG(...)
/*lint -restore */

Meldungen bei der Benutzung können mit
/*lint -emacro(961,ClrWdt) */
abgeschaltet werden. Gilt aber ab da an allen Stellen. Ob das gut ist 
...

Normalerweise kann man Meldungen zeilenweise abschalten. Scheinbar aber 
nicht für -emacro .

Achtung: Die Schreibweise /*lint muss eingehalten werden.

von Michael (Gast)


Lesenswert?

Hi Steffen,

vielen Dank, werde das mal testen. (nicht dsPIC sondern PIC24 ...)

Gruß

Michael

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.