Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Programmorganisation

Ähnliche Präsentationen


Präsentation zum Thema: "Programmorganisation"—  Präsentation transkript:

1 Programmorganisation
Erstellen eines Programms: Programmtext in Quellsprache: Quelldatei oder Sourcedatei Dateikennung z.B. .cpp bei C++ .cpp-Datei Übersetzer obj-Datei Compiler Objektdatei: Ergebnis der Übersetzung, enthält die Maschineninstruktionen und Datenfelder (mit Anfangswert). Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

2 Programmorganisation
Modulares Programmieren (heute üblich): Programmtext in Quellsprache wird auf mehrere Quelldateien (oder Sourcedateien) aufgeteilt. Bezeichnung: Quellmodule oder Source-module. Dateikennung z.B. .cpp bei C++ .cpp-Modul Übersetzer obj-Modul Compiler Das Quellmodul ist die „Texteinheit“, mit der der Compiler etwas anfangen kann: Ausgabe ist das Objektmodul. Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

3 Programmorganisation
Was ist ein Quellmodul: Programmtext, der eine Menge von Funktionen oder Klassenfunktionen (Memberfunktionen) enthält. Was sonst noch dazu gehört, bestimmt die jeweilige Programmiersprache. Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

4 Programmorganisation
Was ist ein Objektmodul? Unvollständiger Maschinentext, der eine Menge von Funktionen umfasst. Es fehlen z. B. Adressen bei den Instruktionen. Informationen zur Weiterverarbeitung Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

5 Programmorganisation
Bindeprogramm, Linker Das Programm, das die Objektmodule weiter verarbeitet. Ein oder mehrere Objektmodule werden zu einer ausführbaren Programmdatei zusammengefasst und fehlende Adressen werden eingetragen. Die Maschinensprachetexte der einzelnen Module werden einfach hintereinander gepackt. Den anschließenden Vorgang bezeichnet man als „Binden“ – engl. „to link“. Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

6 Programmorganisation
Bei den Programmiersprachen die sich von der Sprache C abstammen, muss genau in einem Modul die Main-Funktion vorkommen, damit eine ausführbare Programmdatei erstellt werden kann. Diese Main-Funktion hat bei verschiedenen Umgebungen oft verschiedene Namen. (main(), WinMain(),..) Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

7 Programmorganisation
Ausführbare Programmdatei: Bezeichnung in der Windows-Welt: exe-Datei Sie enthält das „Image“ für die Ausführung. „Image“: Maschinensprachetext, der zur Ausführung in den Hauptspeicher geladen wird. Image=Speicherabbild Das Laden des Image in den Speicher geschieht durch ein Ladeprogramm (Lader, loader). Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

8 Nochmals als Übersicht
Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

9 Programmorganisation
Projekt Ein Projekt besteht aus einer Mengen von Dateien, die sich üblicherweise in einem eigenen Verzeichnis befinden und die zur Erstellung einer exe-Datei nötig sind. Alle Quellmodule des Projektes werden übersetzt und zur exe-Datei zusammengebunden. Wird anschließend etwas geändert, werden nur die betroffenen Module übersetzt. Gebunden wird nur, wenn sich eines der Objektmodule geändert hat. Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

10 Programmorganisation
Resourcen Bei Windowsprogrammen werden zusätzlich zu den Quellmodulen in Resourcedateien in einer speziellen Sprache die Fenster beschrieben. Auch diese Dateien werden bei der exe-Erstellung übersetzt und wie Objektmodule eingebunden. (weiterer Begriff im Zusammenhang mit der automatischen exe-Erstellung in einem Projekt: Makefile) Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

11 Vom Quelltext zum „Hauptspeicher-Image“
Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

12 Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

13 Geladener Programmtext im Hauptspeicher
Variablen im Speicher Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

14 Bibliothek, lib-Datei Bisher: Zieldatei war eine exe-Datei
Eine Bibliothek ist eine weitere Zieldateiform bei der Programmentwicklung. Eine Bibliothek ist ein Ansammlung (Menge) von Objektmodulen. Zur Erinnerung: ein Objektmodul enthält eine Menge von übersetzten Funktionen oder Klassen. Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

15 Bibliothek, lib-Datei Damit: eine Bibliothek ist eine Menge von Funktionen oder Klassen. Zusätzlich: ein Inhaltsverzeichnis mit den Funktionsnamen in Textform. Eine Bibliothek, die objektorientiert Klassen enthält, bezeichnet man als Klassenbibliothek. Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

16 Bibliothek, lib-Datei Wozu Bibliotheken?
Alle obj-Module eines Projektes werden in die exe-Datei eingefügt. Gibt es danach noch Bezüge auf Funktionen, die nicht in den obj-Modulen vorliegen, wird in Bibliotheken gesucht. Wird eine Funktion mit dem gesuchten Namen gefunden, so wird sie aus der Bibliothek gelesen und in die exe-Datei eingefügt. Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

17 Bibliothek, lib-Datei Schnittstelle einer Bibliothek für den Programmierer: Der Programmierer muss alle in der Bibliothek enthaltenen Funktionen oder Klassen kennen. Andere Bezeichnung: API Application Programming Interface Er kann die Funktionen in seinen Quellmodulen aufrufen, der Linker holt sich die Programmtexte aus seinen Bibliotheken. Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

18 Bibliothek, lib-Datei Wie kommt man zu einer lib-Datei? Projekt
In das Projekt werden eingefügt: Quellsprachemodule, bereits vorhandene Objektmodule. Erstellungsziel: Bibliothek (engl. (static) Library) Wichtig: im Projekt darf keine main-Funktion sein! Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

19 DLL DLL=Dynamic Loadable Library
(Gegensatz: die vorher behandelte „static“ Library) Dynamisch ladbare Bibliothek Wenn viele Maschinenprogrammtexte aus Bibliotheken in die exe-Datei eingebunden werden, kann die exe-Datei sehr groß werden. Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

20 DLL Viele Funktionen in dem „Image“ werden bei einem bestimmten Programmlauf überhaupt nicht benötigt. Z.B. Fehlerfunktionen, wenn kein Fehler auftritt. Viele Programme enthalten dieselben Funktionen in ihrem „Image“. Z.B. Fensterfunktionen bei Windows-Programmen. Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

21 DLL Abhilfe: DLL exe-Datei DLL
Zur Ausführung wird das Image der exe-Datei geladen. Bei Aufruf von Funktionen, die in der DLL sind, wird dynamisch das DLL-Image nachgeladen. Weiterer Vorteil: Ist ein DLL-Image geladen, so können sich mehrere Programme der Funktionen aus der DLL bedienen. Das Betriebssystem führt Buch darüber! Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

22 DLL Wie kommt man zu einer DLL?
Voraussetzung wie bei einer Bibliothek: Menge von obj‘s oder Quellmodulen in einem Projekt. (keine main-Funktion!) Erstellungsziel: DLL Allerdings: spezielle Syntax nötig –Definition und Aufruf von Funktionen in DLL‘s haben eine besondere Form. Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

23 „mobile“ Programmierung
Vorangehend wurde der Fall einer Übersetzung in einen „native“ Maschinentext behandelt. Native heißt, die exe-Datei benötigt eine spezielle Hardware und ein spezielles Betriebssystem. Mobil heißt, die Programme laufen auf verschiedenen Plattformen (Hardware und Betriebssystem). Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

24 „mobile“ Programmierung
Vorgehen bei der mobilen Programmierung: „Schlanke“ Sprachen: keine plattformabhängige Dialekte. Der Compiler erzeugt keinen „native“ Programmtext, sondern eine Zwischensprache. Für jede Plattform gibt es eine „virtuelle“ Maschine, die Programme dieser Zwischensprache ausführen kann. Virtuell= über Software-Simulation realisiert Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

25 „mobile“ Programmierung
Beispiel: JAVA Zwischensprache: „Bytecode“ Java Virtual Maschine Klassenbibliotheken: Packages Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

26 „mobile“ Programmierung
Beispiel: .NET Technologie von Microsoft Eine Reihe von Programmiersprachen übersetzen für eine gemeinsame Plattform (.NET-Plattform) Zwischensprache: CIL Common Intermediate Language Virtuelle Machine: CLR Common Language Runtime Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

27 .NET Struktur Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04

28 .NET Struktur Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/04


Herunterladen ppt "Programmorganisation"

Ähnliche Präsentationen


Google-Anzeigen