Outils logiciel pour la programmation en C. 2 Automatiser la compilation : make make est un utilitaire présent dans toute les distribution de linux >

Slides:



Advertisements
Présentations similaires
Rappels de C ECP – Option SA Henri Fallon. Objectifs Théorie + pratique Compréhension générale du langage Repartant « du début » Pour ceux qui savent.
Advertisements

Rappels de C ECP – Option SA Henri Fallon. Objectifs Théorie + pratique Compréhension générale du langage Repartant « du début » Pour ceux qui savent.
Séances de soutien Projet informatique 2A
Introduction Création d'un projet Ajout de fichiers Compilation Exécution Utiliser le débogueur Département dinformatique et de génie logiciel Développer.
Développer en C avec Eclipse Introduction Création d'un projet Ajout de fichiers Compilation Exécution Utiliser le débogueur Département dinformatique.
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.
Connexion Connectez vous sur le portail Cliquez sur le lien Connexion 1.2 Vous accédez à la page de connexion. Si vous.
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 Rapide introduction à la compilation d'un programme « Use the source, Luke! » David Mentré.
CINI – Li115 1 Semaine 3 Boucles (suite), tirages aléatoires, bibliothèque graphique ● Imbrication d'instructions if et for ● Boucles for imbriquées ●
CINI – Li115 1 Semaine 4 Révisions ● Questions de cours ● Types des expressions ● Déclaration de variables ● Instruction conditionnelle et boucles ● Structure.
CINI – Li115 1 Introduction à la programmation impérative en langage C Module Li115 Semestre 2011fev Chargés de cours : Nicolas Sabouret Pierre Fouilhoux.
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 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.
Cadencier informatique 1. quelles sont les informations données par le cadencier informatique? Comment sont-elles obtenues? 2.
Utilisation du logiciel EduStat©
Synthèse TP 2 Codeblock 1 Les objectifs de ce tp sont :
Ajouter le code dans une page html
Comment corriger son code sans forcément appeler l’enseignant M2202
Exploitation de logiciels :
Module de gestion des tournées de livraison
Environnement de développement des BD
Introduction au Langage Pascal
Cours de programmation en langage C (Norme ANSI)
Environnement du développement de BD ORACLE REPORTS 10g
19/02/2018 FINALE 19/02/2018.
Eléments d’Informatique Cours11 – Allocation dynamique, listes chaînées Catherine Recanati.
Initiation aux bases de données et à la programmation événementielle
TP N°2 : les Adresses IP *IP: Internet Protocol
Programmation Impérative II
Sicpa Ovins/Caprins (Geedoc) Mesures : Pesées, NEC, Abattage
Javadoc et débogueur Semaine 03 Version A17.
AO (Architecture des ordinateurs)
Principes de programmation (suite)
Algorithmique Langage C
Instructions pour configurer des comptes utilisateurs limités sur un poste de travail local Veuillez lire attentivement ces instructions et compléter.
Semaine 11 Les pointeurs (suite)
Les fonctions.
Algorithmiques Abdelbasset KABOU
Session 1 31 mai 2017 Plateforme ICONICS Justine Guégan
SIF-1053 Architecture de ordinateurs
Javadoc et débogueur Semaine 03 Version A16.
Algorithmique & Langage C
Développement Mobile : Android
Elaboré par Ahmed BESSAIDI
Wireshark Capture et analyse de trames IP
DIAPORAMA D’AIDE A L’UTILISATION DU FICHIER Mise à jour 06/11/2017 OUTIL « FICHES DE SUIVI DES ELEVES» Outil conçu et proposé par l’académie de Besançon.
L E C ORPS D ’ UN A LGORITHME / P ROGRAMME – L A PARTIE I NSTRUCTION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie.
Cours 8 5. Appels de fonctions Le matériel Concepts de pile
Programmation en C++ C++ de base
1 RECURSIVITE PRESENTATION Ch. PAUL ALGORITHMIQUE Présentation de la récursivité.
Eléments de base du langage C
Plateforme CountrySTAT Aperçu global des métadonnées dans la nouvelle plateforme CountrySTAT FORMATION DES POINTS FOCAUX SUR LE SYSTEME CountrySTAT.
CountrySTAT / FENIX Aperçu globale de l’Editeur DSD dans la nouvelle plateforme CountrySTAT FORMATION DES POINTS FOCAUX SUR LE SYSTEME CountrySTAT/FENIX.
La facture électronique
Les classes et les objets
1)Déclaration des variables (integer, real,..) 2) Instructions exécutables et non exécutables 3) Stop 4) End 5) Déclaration des sous programmes type Fonction.
Site internet GSE Guide pour créer un compte au GSE
Atos, Atos et le poisson, Atos Origin et le poisson, Atos Consulting ainsi que le poisson seul sont des marques déposées d'Atos Origin SA. © 2006 Atos.
Cours 8 5. Appels de fonctions Le matériel Concepts de pile
QCM Pointeurs 2 / Q1 On considère la déclaration suivante : char *ptc ; ptc peut contenir : 1) des valeurs de variables de type caractère 2) des adresses.
Fonctions Abstractions procédurales.
Eléments de base du langage C
Logiciel CIEL Comptabilité
TP N°1 : GUI en NetBeans Module R & C Université de Jijel
Contenu Systèmes de test parallèles Multithreading Synchronisation
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.
Les Commandes de base Linux. 1 L’aide sur les commandes Linux ◦ help : obtenir de l’aide pour une commande interne du shell. Elle permet aussi d'afficher.
Transcription de la présentation:

Outils logiciel pour la programmation en C

2 Automatiser la compilation : make make est un utilitaire présent dans toute les distribution de linux > man make déterminer automatiquement quelles sont les parties d'un gros programme qu'il faut recompiler Fichier Makefile qui décrit 1. les dépendances entre les fichiers 2. les commandes nécessaires à la mise à jour de chacun d'entre eux make a une mise à jour des cibles intelligente. make n'est pas destiné uniquement au langage C!!!

3 Le Makefile Dit à make comment créer un fichier cible à partir de fichiers sources. Fonctionnement à base de règles. cible : dépendance_1 dépendance_2 … dépendance_n [TABULATION] commande shell Exemple : pour faire progexe à partir de prog.c progexe : prog.o gcc -o progexe prog.o prog.o: prog.c gcc -c prog.c

4 Le Makefile plus générique Déclaration de constantes CIBLE = progexe DEPENDANCE = prog.o OPTCOMPIL = -g $(CIBLE): $(DEPENDANCE) gcc -o $(CIBLE) $(DEPENDANCE) prog.o: prog.c gcc $(OPTCOMPIL) -c prog.c Exécute : > gcc -g -c prog.c > gcc -o progexe prog.o

5 Le Makefile encore plus générique Le nom de la cible $< Le nom de la première dépendance $^ La liste des dépendances $* Le nom du fichier sans suffixe progexe: prog.o fonctions.o gcc -o $^.o:.c gcc -c $< Exécute : > gcc -c prog.c > gcc -c fonction.c > gcc -o progexe prog.ofonction.o

6 Data Display Debugger (ddd) Pourquoi ? Comment ?

7 Rappel sur le débogage Déboguer c'est chercher et corriger les erreurs d'un programme. En C on a surtout des erreurs: de syntaxe → à la compilation (erreur: expected ‘;’ before ‘for’) de fonctionnement → à l'exécution (Segmentation fault) Avant d'utiliser un débogueur, il faut d'abord comprendre le message d'erreur et réfléchir..

8 1) Pourquoi ? Mise au point d'un programme de syntaxe correcte, dont l'exécution s'avère fantaisiste. Compilation spéciale: gcc -g monprogramme.c -o toto.exe Exécution sous contrôle: ddd toto.exe

9 Exemple #include void affiche (int n, float u[], float v[]){ int i; for (i=0;i<n;i++) printf("\n\t u[%d] = %f \t v[%d]=%f\n",i,u[i],i,v[i]); printf("\n\n"); } void decale (int n, float u[], float v[], float c){ int i; for (i=0;i<=n;i++) v[i] = u[i] +c; } main(){ int i,dim=3; float x[3] = {1,2,3}, y[3] = {5,5,5}; decale(dim,x,y,-1); affiche(dim,x,y);}

10 ? Exécution

11 Fenêtre de dialogue Panneau de commande Code source Fenêtre d'affichage 2) Comment ?

12 Pointer l'instruction choisie Clic droit : set breakpoint Mise en place d'un point d'arrêt

13 Cliquer sur le bouton Run On part du début pour s'arrêter devant le stop Exécution jusqu'au point d'arrêt

14 Pointer la variable apparition de sa valeur dans un encadré jaune Accès aux variables locales

15 Pointer la variable choisie Clic droit : display Affichage des variables locales

16 Pointer un tableau Clic droit : display donne une adresse Affichage des tableaux

17 Pointer le tableau dans la fenêtre affichage Clic droit : new display other compléter u[ ] Affichage détaillé des tableaux

18 Cliquer sur le bouton Cont Exécution jusqu'au prochain stop v[0] = 0 i = 1 Continue

19 Bouton Cont v[2] = 2 i = 3 Continue (2 fois)

20 Cliquer sur le bouton Step exécution de l'instruction suivante ! Exécution pas à pas

21 i = 3 u[3] = ? v[3] = ?-1 mais v + 3 ||| u + 0 (8a4+3x4=8b0) Explication

22 Step u et v sont inaccessibles dans cette fonction Retour au main