Zum Inhalt springen

„Unit (Programmiersprache Pascal)“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[ungesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Keine Bearbeitungszusammenfassung
Änderung 155666137 von 79.202.54.102 rückgängig gemacht; war schon richtig so.
Zeile 29: Zeile 29:
</syntaxhighlight>
</syntaxhighlight>


Das Unit-Konzept erlaubt es dem [[Compiler]] im Hintergrund einen Abhängigkeitstest zu erstellen, damit gegenseitige Abhängigkeiten automatisch zu erkennen und mehrere Units auf einmal zu kompilieren sind.
Das Unit-Konzept erlaubt es dem [[Compiler]] im Hintergrund einen Abhängigkeitstest zu erstellen, damit gegenseitige Abhängigkeiten automatisch zu erkennen und mehrere Units auf einmal zu kompilieren.
Wenn sich z.B. das ''interface'' (die Schnittstelle) von Unit A ändert, muss der Compiler alle Units kompilieren, die diese Unit benutzen.
Wenn sich z.B. das ''interface'' (die Schnittstelle) von Unit A ändert, muss der Compiler alle Units kompilieren, die diese Unit benutzen.
Wenn dagegen nur in der ''implementation'' Änderungen stattgefunden haben, braucht nur Unit A neu kompiliert zu werden.
Wenn dagegen nur in der ''implementation'' Änderungen stattgefunden haben, braucht nur Unit A neu kompiliert zu werden.

Version vom 28. Juni 2016, 22:56 Uhr

Eine Unit ist eine Quelltextdatei, die separat compiliert wird. Units wurden bereits in UCSD-Pascal (siehe auch Apple Pascal) eingeführt. Eine Unit besteht aus einem öffentlichen Schnittstellen- (interface) und einem privaten Implementierungsteil (implementation). Sie dienen der Modularisierung von Softwarekomponenten und ermöglichen die Wiederverwendbarkeit von Programmteilen, die in verschiedenen Programmen benötigt werden.

Im öffentlichen Teil, der Schnittstelle einer Unit, können Typen (einschließlich Klassen, Konstanten, Variablen und Routinen (Funktionen und Prozeduren)) deklariert werden. Über einen Linker kann später eine Unit als Bibliothek in anderen Programmen verwendet werden.

Beispiel

unit InetTools;  // Name der Unit


interface  
uses Classes, Windows;


function DownLoadInternetFile(const Source, Dest : String): Boolean;


implementation  // ab hier beginnt der ''private'' Teil


function DownLoadInternetFile(const Source, Dest : String): Boolean;
begin
   Result := URLDownloadToFile(nil, PChar(Source), PChar(Dest), 0 ,nil) = 0
end;


end.

Das Unit-Konzept erlaubt es dem Compiler im Hintergrund einen Abhängigkeitstest zu erstellen, damit gegenseitige Abhängigkeiten automatisch zu erkennen und mehrere Units auf einmal zu kompilieren. Wenn sich z.B. das interface (die Schnittstelle) von Unit A ändert, muss der Compiler alle Units kompilieren, die diese Unit benutzen. Wenn dagegen nur in der implementation Änderungen stattgefunden haben, braucht nur Unit A neu kompiliert zu werden.

Der Grundstein zum Unit-Konzept wurde schon 1982 von Modula-2 mit den Compilation Units gelegt.