Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/041 Programmorganisation Erstellen.

Ähnliche Präsentationen


Präsentation zum Thema: "Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/041 Programmorganisation Erstellen."—  Präsentation transkript:

1 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/041 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).

2 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/042 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.

3 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/043 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.

4 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/044 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

5 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/045 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.

6 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/046 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(),..)

7 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/047 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).

8 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/048 Nochmals als Übersicht

9 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/049 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.

10 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/0410 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)

11 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/0411 Vom Quelltext zum Hauptspeicher-Image

12 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/0412

13 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/0413 Geladener Programmtext im Hauptspeicher Variablen im Speicher

14 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/0414 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.

15 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/0415 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.

16 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/0416 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.

17 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/0417 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.

18 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/0418 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!

19 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/0419 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.

20 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/0420 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.

21 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/0421 DLL Abhilfe: DLL exe-DateiDLL 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!

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

23 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/0423 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).

24 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/0424 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

25 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/0425 mobile Programmierung Beispiel: JAVA Zwischensprache: Bytecode Java Virtual Maschine Klassenbibliotheken: Packages

26 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/0426 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

27 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/0427.NET Struktur

28 Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/0428.NET Struktur


Herunterladen ppt "Fachhochschule Dortmund University of Applied Sciences Einf. In die Wirtschaftsinformatik 1, DV-Infrastruktur WS 03/041 Programmorganisation Erstellen."

Ähnliche Präsentationen


Google-Anzeigen