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)
Da es beim posten schon Freitags kurz vor Feierabend war, kurz nocheinmal die Frage, hat jemand eine Idee?
>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
Hallo Erich, ich werd mir mal die Evaluierungsversion ansehen. Danke! Sehen andere das genauso, daß PC-Lint nicht so toll ist?
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!
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
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?
@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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.