Dmo I INF 3135 Construction et maintenance de

  • Slides: 24
Download presentation
Démo I : INF 3135 Construction et maintenance de logiciels Groupe : 10 Monitrice

Démo I : INF 3135 Construction et maintenance de logiciels Groupe : 10 Monitrice : Kerlyne Fostine Courriel : fostinekerlyne@yahoo. fr

Plan de la démonstration o o o Utilisation de UNIX sur Rayon 1 Connexion

Plan de la démonstration o o o Utilisation de UNIX sur Rayon 1 Connexion à distance au serveur Fonctions UNIX de base Utilisation de l’éditeur de texte xemacs Introduction à la programmation C n n n Structure d’un programme C Un simple programme C Les différentes étapes de réalisation d’un programme C

Utilisation de Unix sur rayon 1 o o Lancer le système d’exploitation UNIX Entrer

Utilisation de Unix sur rayon 1 o o Lancer le système d’exploitation UNIX Entrer le nom d’utilisateur : Code accès MS. (Exemple : de 172300) Entrer le mot de passe : 3 premières lettres du nom de famille en majuscule +NIP. (Exemple nom de famille Pierre, NIP =23432, Mot de passe : PIE 23432 Dans le menu Lancer, choisir Applications Utilitaires Terminal

Connexion à distance à rayon 1 o Connexion dans les autres laboratoires UQAM n

Connexion à distance à rayon 1 o Connexion dans les autres laboratoires UQAM n n o Choisir le menu Tous les programmes Internet Putty ssh Entrer l’adresse : rayon 1. labunix. uqam. ca Connexion ailleurs (Ex: à la maison) n n Avec Linux, ouvrir un terminal et taper la commande ssh Adresse du serveur (Exemple : ssh rayon 1. labunix. uqam. ca) Identification requise (Code MS, mot de passe) Avec Windows o o Télécharger le logiciel Putty ou ssh secure shell client à l’adresse : http: //www. chiark. greenend. org. uk/~sgtatham/putty/download. html http: //www. filewatcher. com/m/SSHSecure. Shell. Client 3. 2. 9. exe. 5517312. 0. 0. html Installer le logiciel Putty ou le ssh client Lancer Putty ou ssh client et entrer l’adresse : rayon 1. labunix. uqam. ca Identification requise (Code MS, mot de passe)

Connexion à distance au serveur Arabica (Suite)

Connexion à distance au serveur Arabica (Suite)

Fonctions UNIX de base o Changer mot de passe n o passwd : Permet

Fonctions UNIX de base o Changer mot de passe n o passwd : Permet de changer le mot de passe. Aide en ligne n n man commande : Affiche sur l’écran l’entrée correspondant à la commande donnée du manuel en ligne. o man passwd o A taper q pour sortir de la page du manuel Commande --help : Fournit une description plus ou moins succincte de la commande. o passwd --help

Fonctions UNIX de base (Suite) o Système de fichiers n Contenu d’un répertoire et

Fonctions UNIX de base (Suite) o Système de fichiers n Contenu d’un répertoire et attribut de fichier o o o o ls référence : Fournit pour chaque référence donnée les références(répertoires, fichiers) qu’il contient. ls –l référence : Listing d’un répertoire avec un format d’impression long mv fichier_source fichier destination : déplace ou renomme un fichier Script nom_fichier : Capture la sortie à l’écran et de la sauvegarder dans un fichier (exit pour sortir) More fichier : Affiche un fichier écran par écran(more fichier 1. txt) commande | more : affiche la sortie de commande écran par écran (ls | more) Grep mot_clé fichier : Recherche mot clé dans fichier n n n -i : Ne tient pas compte de la casse -n indique les numéros de ligne Manipulation des répertoires o o pwd : visualise la référence absolue du répertoire de travail mkdir référence : Crée un ou plusieurs répertoires vide n o o mkdir tp 1 tp 2 cd référence : Changer de répertoire rmdir référence : Supprimer les répertoires referencees

Fonctions UNIX de base (Suite) o Modification des attributs de fichiers n Chmod modification

Fonctions UNIX de base (Suite) o Modification des attributs de fichiers n Chmod modification référence n Modification : [ugoa][+-=] o o o u : le propriétaire G : le groupe propriétaire O : les autres usagers A : l’ensemble de tous les usagers (valeur par defaut) R : en lecture W : en écriture X : en exécution + : Pour autoriser - : Pour interdire = : Pour forcer les droits spécifies aux catégories données Ex : chmod ug+r

Fonctions Unix de base (Suite) o Copie, renommage et suppression d’un fichier n n

Fonctions Unix de base (Suite) o Copie, renommage et suppression d’un fichier n n n cp référence destination : Copie un ou plusieurs fichiers de références données ln : source destination : Renomme le fichier source en destination rm référence : Supprime un ou plusieurs fichiers en références.

Fonctions unix de base (Suite) o Sortir du shell n n n Ctrl +D

Fonctions unix de base (Suite) o Sortir du shell n n n Ctrl +D exit logout

Utilisation de l’éditeur de texte xemacs o o Appel de l’éditeur n Xemacs à

Utilisation de l’éditeur de texte xemacs o o Appel de l’éditeur n Xemacs à partir du terminal Fichiers, lecture, écriture et sortie de l’éditeur n Ctrl+x+Ctrl+f : Permet d’ouvrir un fichier (nouveau ou existant) n Ctrl+x+i : Insère le contenu du fichier à l’emplacement du curseur dans le tampon courant n Ctrl+x+Ctrl+s : Sauve le tampon courant sous son nom courant n Ctrl+x+Ctrl+w : Sauve le tampon courant après l’avoir renommé n Ctrl+x+Ctrl+c : Termine la session d’édition avec demande de confirmation

Commandes de manipulation des tampons o o o Ctrl+x+b : Place le tampon spécifié

Commandes de manipulation des tampons o o o Ctrl+x+b : Place le tampon spécifié dans la fenêtre courante Ctrl+x+Ctrl+b : Crée une nouvelle fenêtre contenant la liste des tampons. Ctrl+x+k : Abandonne l’édition du tampon courant. Si le tampon n’a pas été sauvegardé une confirmation sera nécessaire.

Déplacement du curseur et suppression de caractères o o o o Ctrl+a : Vers

Déplacement du curseur et suppression de caractères o o o o Ctrl+a : Vers le début de la ligne Ctrl+e : Vers la fin de la ligne Alt+> : Vers la fin du tampon Alt +< : Vers le début du tampon Alt+v : D’une page vers l’arrière Ctrl+v : D’une page vers l’avant Ctrl+d : Supprime le caractère sous le curseur Ctrl+k : Supprime la partie de la ligne du curseur jusqu’à la fin. Sur une ligne vide, elle supprime la ligne.

Structure d’un programme C o Importation des bibliothèques n #include <mabiblio. h> o Déclaration

Structure d’un programme C o Importation des bibliothèques n #include <mabiblio. h> o Déclaration des constantes o Déclaration des structures de données n n n n o o o int fonct(int, float, double); Définition des sous programmes n o struct Personne{ char *nom; char *prenom; char *adresse; … }; Déclaration des prototypes des sous programmes (fonctions et procédures) n o #define TAILLE 3 int fonct (int a, float b, double c){ } Définition de la fonction main int main(){ return 0; } Ou int main(int n, char *arguments){ return 0; }

Un simple programme (bonjour. c) o o o #include <stdio. h> int main() {

Un simple programme (bonjour. c) o o o #include <stdio. h> int main() { printf( « Bonjourn » ); return 0; }

Les diverses étapes de la compilation et de l’execution d’un programme C o La

Les diverses étapes de la compilation et de l’execution d’un programme C o La Precompilation : Appel au preprocesseur (cpp) n o La compilation n n o Traitements des directives # Réalisation des module d’assembleur fichier d’extension s Réalisation des modules objets : fichier d’extension o L’édition de lien n Constitution d’un module binaire exécutable

Compilation du programme bonjour. c o Afficher le travail du preprocesseur n o Générer

Compilation du programme bonjour. c o Afficher le travail du preprocesseur n o Générer le module objet n o gcc –c bonjour. c (Le fichier bonjour. o est créé) Générer le module exécutable(salutation) à partir du module objet n o gcc –E bonjour. c (Aucun fichier créé) Gcc –static bonjour. o –o salutation Exécution du programme salutation à partir du terminal n salutation

La precompilation o Directives de precompilation n n Définition des constantes avec #define Les

La precompilation o Directives de precompilation n n Définition des constantes avec #define Les macros (#define) Les fichiers d’inclusions (#include <biblio. h> Les directives de compilation conditionnelle o o #if expression #ifdef identificateur #ifndef identificateur Option de precompilation avec gcc n n -E : Appel du preprocesseur et envoie les résultats sur la sortie standard -C : Le processeur ne supprime pas les commentaires comme il le fait par défaut -P : Aucun marquage des lignes de contrôle n’est généré par le preprocesseur -I répertoire : Les fichiers à inclure sont recherchés, si leur référence n’est pas absolue, prioritairement dans répertoire.

La precompilation(Suite) o Exercice n n Que fournit le preprocesseur au contenu du fichier

La precompilation(Suite) o Exercice n n Que fournit le preprocesseur au contenu du fichier essai. c o /*Juste un essai pour voir ce que ca donne*/ o #define TAILLE 1000 o #define f(x, y) (x*y) o int tab(TAILLE); o n= f(tab[0]+tab[1], tab[TAILLE-1]+2); o #undef TAILLE o int tab 2[TAILLE]; Quels sont les résultats avec l’option –E, -E et – C, -E –C et –P.

Les options de compilation o o -S : Génération d’un module assembleur(fichier d’extension s)

Les options de compilation o o -S : Génération d’un module assembleur(fichier d’extension s) -O[n] : Demande l’appel de l’optimiseur. La valeur [n] correspond au niveau d’optimisation[0, 3], 1 par défaut. -c : Production de code objet (fichier d’extension o) -o référence : permet de nommer la cible de la compilation

Compilation(Suite) o Exercice n n Écrire un programme en c qui affiche les arguments

Compilation(Suite) o Exercice n n Écrire un programme en c qui affiche les arguments passés en paramètres au programme(main) Compiler le programme pour générer du code assembleur et en l’optimisant le plus que possible Compiler le module assembleur créé pour générer du module objet et nommer le fichier objet « papa » Effacer les fichiers assembleur et le fichier papa généré du répertoire et faire les 2 compilations précédentes en une seule commande.

Les options d’édition de lien avec gcc o o -static : Permet de produire

Les options d’édition de lien avec gcc o o -static : Permet de produire un exécutable autonome -shared : Permet d’utiliser l’édition de lien dynamique et non pas un exécutable autonome(Voir édition statique et dynamique) -lnom : Permet d’ajouter la bibliothèque de nom(fichier d’extension a, sl ou so) -Lreference : permet d’ajouter le répertoire désigné par la référence en tête de la liste des répertoires de recherches des bibliothèques.

Édition de lien – Édition statique o Édition Statique n n n Extraire le

Édition de lien – Édition statique o Édition Statique n n n Extraire le code de la fonction et le recopier dans le fichier binaire Le chargement du programme en mémoire en vue de son exécution se réalise directement Toutes les informations nécessaires à l’exécution sont dans le fichier binaire Le code de cette fonction est chargé en mémoire centrale autant de fois qu’il y a de processus qui l’utilise Les applications construites sont figées même si la bibliothèque est modifiée. Les applications déjà construites utilisent toujours l’ancienne version.

Édition de lien – Édition dynamique o Édition dynamique n n n Les bibliothèques

Édition de lien – Édition dynamique o Édition dynamique n n n Les bibliothèques de fonctions reliable dynamiquement sont appelées objets partagés(fichiers d’extension a, sl ou so) Redéfinition des fonctions de l’éditeur de liens et du module de chargement des programmes en mémoires. Permet d’économiser de l’espace disque et de l’espace mémoire Permet de prendre en compte automatiquement les nouvelles versions des bibliothèques Ralentit la phase de chargement du programme