Programmorganisation

Slides:



Advertisements
Ähnliche Präsentationen
Blue J.
Advertisements

Objektorientierte Programmierung
Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
Prozesse Einführung in WI 1 (DV-Infrastruktur) WS03/04.
PC mit offener Seitenwand
Beim Start eines Prozesses in Windows NT, 2000 wird a der Programmtext aus der exe-Datei ab der dort angegebenen Adresse gespeichert.
PC Computernetze Netzstruktur für kleine Netze
Fragen 2 Werden die Funktionen des Betriebssystemkernes wie normale Funktionen aufgerufen? Einf. In die WI, DV-Infrastruktur WS 03/04.
IO - Hardwarestruktur, allgemein
Betriebssysteme - Überblick
Arbeitstitel: DV-Infrastruktur
Zentraler Verzeichnisdienst an Hochschulen
Imperative Programmierung -Entwicklungswerkzeuge
Objektorientierte Programmierung
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung versteht Java Programmcode versteht Java Programmcode Für die Entwicklung eigener Software.
Gliederung des Inhalts
CPU, Programmausführung
Java: Grundlagen der Sprache
Seminar Sommersemester 2002 ASP.NET Andre Margousian.
Windows Explorer.
Praxis-Repetitorium JAVA zusätzliche, ergänzende Lehrveranstaltung
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Die Skriptsprache Perl (8) Wolfgang Friebel DESY Zeuthen.
Der C-Präprozessor EDV1 - 04Präprozessor.
Einführung in Visual C++
DVG Ausnahmen. DVG Was sind Programmfehler? 4 Programm erzielt gar kein Ergebnis. 4 Berechnetes Ergebnis stimmt nicht mit dem erwarteten.
Einführung in C EDV1 - 03C-Einführung.
DVG Einführung in Java1 Einführung in JAVA.
Der C-Präprozessor 08-CPräprozessor.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
MSDN Webcast: VB. NET für Einsteiger und Umsteiger Einführung in VB
Referat zum Thema „DLL“
7. Vorlesung Vererbung Einfach- und Mehrfachvererbung Polymorphismus
4. Vorlesung: Use Case Diagramme Fallbeispiel
8. Vorlesung: Klassendiagramm für Fallbeispiel
3. Vorlesung: UML Use Case Diagramme
6. Vorlesung: Statische Konzepte
12. Vorlesung: Aktivitätsdiagramme
5. Vorlesung: Grundkonzepte Objekt-Orientierung
Programmieren mit MS Small Basic
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Einführung in die Programmiersprache Java
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
25. Januar 2007Klasse IT '041 Projekt Solar Server Schulprojekt der Klasse IT `04.
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
1. Entwicklungsumgebung 2. Kontextmenü 3. Compile 4. Objekt 5. Attribut 6. Klasse 7. Deklaration 8. Intialisierung.
Informatik Objekte und Klassen 1. Objektorientiertes Modellieren und Programmieren 1.1 Objekte und Klassen.
CGI (Common Gateway Interface)
1. Entwicklungsumgebung 2. Kontextmenü 3. Compile 4. Objekt 5. Attribut 6. Klasse 7. Deklaration 8. Intialisierung.
Java Programmierung.
Wilfried Imrich CuP - Java Erste Vorlesung Entspricht ungefähr Kapitel 1.1 des Skriptums Wilfried Imrich Montanuniversität Leoben Freitag, 4. Oktober 2002.
BMEVIEEA100 Grundlagen der Programmierung
Programmieren ... in C++ Prof. Dr.-Ing. Franz-Josef Behr, HfT Stuttgart Programmeiren I.
Kommandozeile und Batch-Dateien Molekulare Phylogenetik – Praktikum
Programmieren in C Module und Bibliotheken Hochschule Fulda – FB AI Sommersemester Peter Klingebiel, HS Fulda, DVZ.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
HG13_ Herzgen, Jung & Lorkowski1 Java Programmierung BlueJ Workshop.
IT2 – WS 2005/20061Nov 14, 2005 Visibility  public: Sichtbar in allen Paketen  protected: Sichtbar innerhalb des Pakets und in den Unterklassen  (default,
Microsoft.NET - Plattform Kurzer Überblick Vergleich mit Java Von Thomas Zahn Januar 2001.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Microsoft Silverlight Autor: Christian Pirker. Inhalt Einführung Silverlight Einführung XAML Silverlight 1.0 und 1.1 Silverlight 2.0 Silverlight 3.0 Ausblick.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Programmierung unter VB.Net mit der IDE VisualStudio. Schritt für Schritt erklärt und beschrieben. Zielgruppe: Komplette Neueinsteiger mit fundiertem Computerwissen.
JAVA - Einführung. © Übersicht Hintergrund und Geschichte Wie sieht ein JAVA Programm aus ? Was ist ein JAVA Programm ? Wie schreibt/übersetzt.
9.5 Microsoft .NET Architektur: objektorientiert/Fernaufrufe (8.1.6 )
Programmieren in C Module und Bibliotheken
 Präsentation transkript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

„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

„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

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

„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

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

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