Grundlagen der Informatik 4 Lehrstuhl für Betriebssysteme 1 Wie werden Funktionen realisiert? Beispiel: int maximum(int x, int y) { int j = x; if (y >

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

der Universität Oldenburg
Vorlesung Compilertechnik Sommersemester 2009 Zielcodeerzeugung M. Schölzel.
Ein- und Ausgabe von Dateien
Funktionen.
Timm Grams Hochschule Fulda Fachbereich Elektrotechnik und Informationstechnik Rekursive Funktionen in C © Timm Grams, Fulda, (korr.: )
3 Prozessverwaltung  sieht einen Prozess als Objekt der Verwaltung,
Imperative Programmierung
der Universität Oldenburg
CPU, Programmausführung
WHILE - Anweisung.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 7 Claudio Moraga, Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 5 Claudio Moraga; Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
6 Folgen (Teil II - Datenstrukturen und Algorithmen)
Imperative Programmierung Funktionen und Parameter
PKJ 2005/1 Stefan Dissmann Methoden (Motivation) Idee: Identische Programmabschnitte zusammenfassen und mit einem Namen versehen Vorteile: Übersichtlichkeit.
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Methoden sind mit einem Namen versehene Programmabschnitte besitzen Rückgabetyp, Namen, Parameterliste.
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Rekursion Richard Göbel.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Informatik 1 Übung 8. NACHBESPRECHUNG Übung 8 Rekursion Existiert Weg von A nach B?
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmiersprache C 3.Tag Institut für Mathematische Optimierung - Technische Universität Braunschweig.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2012/13 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung
Einführung in die Programmierung Wintersemester 2012/13 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Informatik 1 Letzte Übung.
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut.
1.6 Die Datenstruktur Stapel Ein Stapel (Stack) ist ein Sonderfall einer Liste. Die Elemente werden nach dem Prinzip LIFO (Last In First Out) angefügt.
Computerorientierte Physik VORLESUNG
Parameterübergabemechanismen für den Methodenaufruf
Informatik Grundlagen, Seminar 8 WS04 1 Informatik Grundlagen, WS04, Seminar 8 Informatik.
Informatik Grundlagen, WS04, Seminar 7
D. Fey Vorlesung Grundlagen der Rechnerarchi- tektur und - organisation 20./ SS 2009 FAU Erl.-Nbg. Department Informatik 3 (Lst. Rechner- architektur)
Lehrstuhl für Informatik 3 - D. Fey Vorlesung GRa - SS , Folie 1 Beispiel Stack-Architektur.
Funktionen. Aufgabe : Eingabe zweier Zahlen ---> Minimum bestimmen Dann nochmals Eingabe zweier Zahlen ---> Minimum bestimmen.
Funktionen, Felder und Parameter- übergabe. Funktionsaufruf mit Feld als Parameter: Parameter = Name des Feldes.
Java Programme nur ein bisschen objektorientiert.
Tutorium Software-Engineering SS14 Florian Manghofer.
Funktionen (Zweck und Eigenschaften) Funktionen sind Unterprogramme, die einen bestimmten Zweck erfüllen Sie zerlegen Probleme in kleine, abgeschlossene.
Informatik II – Übung 4 Gruppe 3
Pentestlab — Bufferoverflows dud.inf.tu-dresden.de
Rekursion – Speicherverwaltung
Die virtuelle Maschine in der Literatur
Programmieren in C Wie speichert C
Raphael Fischer Informatik II - Übung 05 Raphael Fischer
Einführung in die Programmierung
Informatik II – Übung 4 Gruppe 3
Pentestlab — Bufferoverflows dud.inf.tu-dresden.de
 Präsentation transkript:

Grundlagen der Informatik 4 Lehrstuhl für Betriebssysteme 1 Wie werden Funktionen realisiert? Beispiel: int maximum(int x, int y) { int j = x; if (y > j) j = y; return j; } void main() { maximum(42, 2); } Wie werden Parameter übergeben? Jede Instanz von maximum muss eine eigene Variable j besitzen. Wo liegen die lokalen Variablen? Idee: Parameter & Variablen auf den Stack legen!

Grundlagen der Informatik 4 Lehrstuhl für Betriebssysteme 2 Lösung: C-Calling Convention ; Parameter auf den ; Stack legen push 2 push 42 ; Funktion aufrufen call maximum … ESP EBP 2 Rücksprungadr. 42

Grundlagen der Informatik 4 Lehrstuhl für Betriebssysteme 3 Lösung: C-Calling Convention maximum proc push ebp mov ebp,esp ;lokale Variablen anlegen sub esp,4 ; Aufgabe lösen und Ergebnis ; ins EAX kopieren ; lokale Variablen entfernen add esp,4 ; ebp restaurieren pop ebp ret … ESP EBP 2 Rücksprungadr. Alter EBP j 42

Grundlagen der Informatik 4 Lehrstuhl für Betriebssysteme 4 Lösung: C-Calling Convention ; Parameter auf den ; Stack legen push 2 push 42 ; Funktion aufrufen call maximum ; Funktionsargumente vom ; Stack nehmen add esp, 8 ; Das Ergebnis liegt im ; EAX Register … ESP EBP 2 42