Forum: Mikrocontroller und Digitale Elektronik PCLINT: Projektstruktur


von Decius (Gast)


Lesenswert?

Also ich muß ein bestehendes Projekt mit einer umfangreicheren 
Verzeichnisstruktur jetzt mit PCLint neu überprüfen. PCLint wurde bisher 
nicht verwendet. Dabei werden einige Konstrukte bemängelt, was ich mir 
aber nicht erklären kann.

1) Z.B. sowas:
Beitrag "PC-Lint Fehlermeldung"

2) Oder ERROR115 ein  Datentyp ist mit einem typedef struct... in einer 
Headerdatei vereinbart und wird in einer C-Datei benutzt. Angeblich ist 
der neue Datentyp nicht definiert. Obwohl die Headerdatei in dem C-File 
eingebunden ist.

Wenn ich vergleichbare Konstrukte in einem einfach strukturierten 
Testprogramm verwende, akzeptiert PCLint diese. Kann der Grund für meine 
Probleme die umfangreiche Verzeichnisstruktur meines Projektes sein? 
Oder was könnte das für einen Grund haben?

Dabei fehlen mir einwenig die Ideen, da die PCLINT Fehlermeldungen sich 
immer  nur auf die Konstrukte selber beziehen.

Als LNT-Datei werden die folgenden verwendet.
au-misra2.lnt
co-kcarm.lnt

und:

+d__ARMCC_VERSION=410894
+ppw(warning)
-w1 /* Warning-/Error-Level w1=only erros, w2=errors and warnings */
-si4 -sp4

-i"..\..\systec\cop\include; ..\..\systec\cop\ccm; 
..\..\systec\cop\copstack"

-i"C:\Programme\Keil\ARM\CMSIS\Include; C:\Programme\Keil\ARM\INC\ARM; 
C:\Programme\Keil\ARM\INC\Philips; c:\Programme\Keil\ARM\RV31\INC"

+libclass(angle, foreign, ansi)

+libdir(..\..\systec\cop\include, ..\..\systec\cop\ccm, 
..\..\systec\cop\copstack)

+libdir(C:\Programme\Keil\ARM\CMSIS\Include, 
C:\Programme\Keil\ARM\INC\ARM, C:\Programme\Keil\ARM\INC\Philips, 
c:\Programme\Keil\ARM\RV31\INC)

-wlib(0)

von Decius (Gast)


Lesenswert?

Da es beim posten schon Freitags kurz vor Feierabend war, kurz 
nocheinmal die Frage, hat jemand eine Idee?

von Erich (Gast)


Lesenswert?

>hat jemand eine Idee?

Ja.
Man könnte ein alternatives Tool nutzen, was besser funktioniert

http://www.ristancase.com/cms/index.php/vp-development-assistant-for-c

von Decius (Gast)


Lesenswert?

Hallo Erich,

ich werd mir mal die Evaluierungsversion ansehen. Danke!

Sehen andere das genauso, daß PC-Lint nicht so toll ist?

von Decius (Gast)


Lesenswert?

Hallo Erich,

leider existiert in dem tool keine anbindung an das uVision von Keil. Da 
es sich bei mir um größere Projekte handelt, wäre mindestens eine 
Importfunktion für die Projekte notwendig. Trotzdem Danke!

von Erich (Gast)



Lesenswert?

Wenn es keine Importfunktion gibt, kann man ein neues leeres Projekt 
anlegen <Project><New Project>.
Dann fügt man alle .C und .H Dateien dazu, die zum Projekt gehören.
Anschliessend stellt man über <Option><Compiler> den Compilertyp ein.
Fertig.
Anbei 3 Screenshots, mit (sehr einfachem) Beispiel, entnommen aus dem 
"PICkit 3 Debug Express Lessons.zip", Ordner "03 Rotate LED".
Ich habe auch mittlere Projekte mit exotischen Compilern und ca. 60 .C 
und mind. nochmal soviel .h Dateien drin, aber die sind nicht 
öffentlich...
Gruss

von Decius (Gast)


Lesenswert?

Hallo Erich,

ich muß Dich das doch mal noch fragen.

Kennst Du den Development Assistant for C (DAC)  und PC-Lint im direkten 
Vergleich, oder hast Du mit dem DAC einfach nur gute Erfahrungen 
gemacht?

von Erich (Gast)


Lesenswert?

@Decius
Ich arbeite seit Jahren mit DAC und habe damit gute Erfahrung gemacht, 
ja.
Bei Einführung der SW-QS (u.a. MISRA) hat das Tool viel geholfen (und 
tut es noch).
Damals hatte ich auch kurz mit PC-Lint sowie weiteren Tools 
experimentiert, woraus DAC als Sieger hervorgegangen ist. Das 
Preis/Leistungsverhältnis ist sehr gut, auch wenn's nicht kostenlos ist; 
aber ich rede vom Einsatz im beruflichen Umfeld.
Für weitere Info bitte hier im Forum anmelden, dann kann ich eine "PN" 
(private Nachricht) senden.
Gruss Erich

von Decius (Gast)


Lesenswert?

Hallo Erich,

hat ja jetzt eine Weile gedauert :-), aber ich mußte mich zwischendurch 
mit etwas anderem beschäftigen.

Ich bin mit der Evaluierung noch nicht ganz fertig, aber ich denke bei 
uns wird es das C++test von Parasoft. Das Tool unterstützt alle 
Entwicklungsumgebungen, die bei uns eingesetzt werden.

Die Arbeit mit der statischen Codeanalyse läßt sich insgesamt bisher gut 
an. Mal sehen, wie gut die automatisch generierten Unittests, verbunden 
mit der Ermittlung der Codeabdeckung, funktionieren.

Wenn das alles nach Wunsch läuft kommt C++test in die ganz enge Auswahl.

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.