Cours 8 5. Appels de fonctions Le matériel Concepts de pile

Slides:



Advertisements
Présentations similaires
Cours 8 5. Appels de fonctions Le matériel Concepts de pile
Advertisements

Le débogage Semaine 12 Version A15. Plan de leçon - Débogage  Commentaire javadoc  Définition  Fonctionnement  Point d’arrêt  Exécution  Contrôler.
Outils logiciel pour la programmation en C. 2 Automatiser la compilation : make make est un utilitaire présent dans toute les distribution de linux >
C++ Les fonctions. Présentation Utilité : Dès qu'un programme dépasse la centaine de lignes de code, il est pratique de pouvoir le décomposer en plusieurs.
1/1/ Synthèse TD 3 Classe et adresse IP Bertrand Chesneau Morgan Nouet.
Tableaux et Pointeurs Chaînes de Caractères Programmation Impérative II.
1- Introduction 1ère partie Le langage SQL 2- Connexion 3- Structure & Contenu 4- Requêtes.
CINI – Li115 1 Semaine 6 Les fonctions ● Pourquoi écrire des fonctions ? ● Définition de fonctions ● Fonction main ● Appels de fonctions ● Portée des variables.
1 Le stage informatique de Masters APIM et PIE (2012/2013) Ivana Hrivnacova Vincent Lafage Basé sur le stage informatique du LAL et IPN par (2005/2006):
CINI – Li115 1 Semaine 10 Les pointeurs ● Notion d'adresse ● Déclaration et utilisation de pointeurs ● "Types pointeur" et initialisation des pointeurs.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Types et opérations fondamentales ● Tests ● Boucles ● Pointeurs, références.
CINI – Li115 1 Semaine 11 Les pointeurs (suite) ● Tableaux et pointeurs ● Questions sur les pointeurs.
Comment utiliser le débogueur de Visual Studio /8/2015 INF145 1 Créé par Julien Galarneau Allaire, révisé par Eric Thé S.E.G.
SYSTEM PROGRAM.
Mode noyau Appels Systèmes Interruptions Grégory Seront Institut Paul Lambin
Semaine 8 Retour sur les tableaux : fonctions et récursivité
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Introduction au Langage Pascal
Eléments d’Informatique Cours11 – Allocation dynamique, listes chaînées Catherine Recanati.
Allocation dynamique de mémoire
Introduction à l’algorithmique. Introduction Algorithme: Procédure décrivant, étape par étape, une méthode permettant de résoudre un problème. Mot provenant.
JavaScript.
Implémentation de PayPal
Qu'est-ce que POSIX? Une librairie en langage C
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Javadoc et débogueur Semaine 03 Version A17.
AO (Architecture des ordinateurs)
Principes de programmation (suite)
Algorithmique Langage C
11ième Classe (Mardi, 18 novembre) CSI2572
Semaine 11 Les pointeurs (suite)
Les fonctions.
Les fonctions.
Gestion dynamique de la mémoire : new / delete
Buffer Overflow Anatomy of an exploit.
SIF-1053 Architecture de ordinateurs
Tableaux à plusieurs dimensions en langage C
Configuration NAT Utilisation de la commande outside source list
Fonctions logiques et algèbre booléenne
Introduction à l’algorithmique. Introduction Algorithme: Procédure décrivant, étape par étape, une méthode permettant de résoudre un problème. Mot provenant.
Mini synthèse accès fichier en C
Semaine #4 INF130 par Frédérick Henri.
Introduction à l’algorithmique. Introduction Algorithme: Procédure décrivant, étape par étape, une méthode permettant de résoudre un problème. Mot provenant.
Concepts de base de la programmation
1 RECURSIVITE PRESENTATION Ch. PAUL ALGORITHMIQUE Présentation de la récursivité.
Interruptions GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde.
Type Concret – Type Abstrait
Assembleur ARM: Séquence d’exécution et branchements
Plus de 4000 langages....
Architecture de machines Le microprocesseur Cours
Bus et adressage GIF-1001: Ordinateurs: Structure et Applications
Calcul Scientifique Initiation à SCILB
Eléments de base du langage C
Le DOS GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015
Assembleur, Compilateur et Éditeur de Liens
Semaine #3 INF130 par Frédérick Henri.
Informatique de base Pr. Namar Ydriss Cours 1: Introduction
Structures d’ordinateurs (matériel)
Les exceptions Le mécanisme des exceptions est destiné à permettre aux fonctions profondes d'une bibliothèque de notifier la survenue d'une erreur aux.
Dépiler et mettre valeur dans RT (récup. paramètre)
Principes de programmation (suite)
Cours 8 5. Appels de fonctions Le matériel Concepts de pile
Programmation Scratch
Retour sur les interfaces
Introduction à L’Informatique
Pourquoi MIPS Assembler ?
Structure de données Les listes.
Eléments de base du langage C
DONNÉE DE BASE QM Manuel de formation. Agenda 2  Introduction  Objectif de la formation  Données de base QM: Caractéristique de contrôle Catalogue.
Transcription de la présentation:

Cours 8 5. Appels de fonctions Le matériel Concepts de pile 12/09/2018 5. Appels de fonctions Concepts de pile Concepts de passage de paramètres Concepts de variable locale Le matériel Chapitre 8 CSA Synthèse du professeur sif-1053

Appel de fonctions Lors de l’appel à une fonction, comment fait-on pour retourner à la suite de l’exécution de la fonction appelante après que la fonction appelée soit terminée ? Quel est le mécanisme qui permet ce retour ? sif-1053

Appel de fonctions Dans un environnement multitâche, plusieurs programmes peuvent faire appel à des fonctions dans une librairie dynamique Comment les variables locales peuvent-elles rester intègre ? sif-1053

La pile et l’adresse de retour EIP: extended instruction pointer sif-1053

La pile et pointeur de pile sif-1053

Fonction en langage C sif-1053

Éléments fondamentaux de la programmation en langage C Fonctions et passage de paramètres En langage C, nous pouvons passer des informations aux fonctions via son interface et ce de deux façons distinctes: Passage par valeur: valeurs actuelles sont passées Passage par référence (adresse): pointeurs sont passés sif-1053

Prototype de la fonction Éléments fondamentaux de la programmation en langage C Fonctions, passage de paramètres (par valeur) et valeur retournée Prototype de la fonction sif-1053

Éléments fondamentaux de la programmation en langage C Fonctions et passage de paramètres (par adresse) sif-1053

Accès à la pile sif-1053

Appel de fonction et assembleur EBP pointe sur le début de la zone pile réservée à la fonction Fin de la fonction Appel de fonction Passage de paramètres Dans le DEBUGGER taper ALT+8 pour obtenir le code assembleur sif-1053

Appel de fonctions et la pile EBP: extended base pointer ESP: extended stack pointer sif-1053

Appels: average() et printf() Appel de fonctions et assembleur (VS 2015) Appels: average() et printf() sif-1053

Appels: retour de average() Appel de fonctions et assembleur (VS 2015) Appels: retour de average() sif-1053

Erreur typique de pointeur en langage C sif-1053