See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Lint (Programmierwerkzeug) – Wikipedia

Lint (Programmierwerkzeug)

aus Wikipedia, der freien Enzyklopädie

Lint ist das erste einer ganzen Reihe von Werkzeugen zur statische Code-Analyse von Quelltexten von Computerprogrammen. Sein hauptsächlicher Verwendungszweck war es, die Schwächen der damals existierenden Compiler auszugleichen, die über weite Strecken richtigen Quellcode voraussetzten und nur rudimentäre Prüfungen durchführten. Neben dem Aufspüren von gefährlichen Konstrukten, wie nicht initialisierten Variablen, legte Lint auch großes Gewicht auf die Überprüfung eines einheitlichen Layouts des Quelltextes und auf das Erkennen nicht portabler Konstrukte, wie etwa Abhängigkeiten von Betriebssystem oder Compiler.

Der Name Lint leitet sich von der englischen Bezeichnung für unerwünschte Anteile an Fasern und Flaum in Schafwolle ab.

Ursprünglich von den Bell Labs für die Programmiersprache C entwickelt, wurde Lint 1979 mit der siebten Version (V7) des Betriebssystems Unix als Teil des PCC genannten, portablen C-Compilers veröffentlicht. Dies war der zweite Compiler für dieses System nach dem PDP-11-Compiler. Bereits 1985 wurde eine Portierung von Lint auch für den Einsatz am PC angeboten und seit damals als Softwareprodukt beworben. Es dürfte sich damit um eines der am längsten beworbenen Softwarewerkzeuge der Geschichte handeln.[1]

Viele der Prüfungen, die Lint durchführt, sind durch die Fortschritte im Compilerbau in die heutigen Compiler eingeflossen, die für den hochgradig optimierten Code, den sie erzeugen, auch wesentlich weitreichendere statische Analysen vornehmen müssen und aufgrund der technischen Entwicklung (Mooresches Gesetz) auch vornehmen können. Manche Überprüfungen sind hinfällig geworden, weil durch bessere Standardisierungen der Programmiersprachen gewisse Portabilitätsprobleme einfach nicht mehr existieren. Durch die Verwendung moderner Entwicklungsumgebungen und kontextsensitiver Texteditoren mit Syntaxhervorhebung und automatischer Einrückung hat sich auch das Formatierungsproblem etwas entspannt.

Mit dem Entstehen und der Verbreitung von C++ wurde versucht, Lint um Prüfungen speziell für die neuen Sprachkonstrukte zu erweitern. Das Alleinstellungsmerkmal der ersten Jahre hat Lint aber verloren. Auf dem Markt werden heute eine Reihe von teilweise weit ausgefeilteren Werkzeugen für die statische Code-Analyse angeboten.

Der Ausdruck linten für das Durchführen der statischen Code-Analyse ist aber im Jargon der Softwareentwicklung noch immer gebräuchlich.

[Bearbeiten] Siehe auch

[Bearbeiten] Quellen

  1. http://www.gimpel.com/

[Bearbeiten] Literatur

  • Stephen Johnson: Lint, a C program checker. Computer Science Technical Report 65, Bell Laboratories, Dezember 1977.


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -