Démo I : INF3135 Construction et maintenance de logiciels Groupe : 10

Slides:



Advertisements
Présentations similaires
Bratec Martin ..
Advertisements

NOTIFICATION ÉLECTRONIQUE
Fragilité : une notion fragile ?
SEMINAIRE DU 10 AVRIL 2010 programmation du futur Hôtel de Ville
Phono-sémantique différentielle des monosyllabes italiens
MAGGIO 1967 BOLOGNA - CERVIA ANOMALIES DU SOMMEIL CHEZ L'HOMME
droit + pub = ? vincent gautrais professeur agrégé – avocat
Transcription de la présentation:

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

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

Utilisation de Unix sur rayon1 Lancer le système d’exploitation UNIX Entrer le nom d’utilisateur :Code accès MS. (Exemple : de172300) 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 : PIE23432 Dans le menu Lancer, choisir ApplicationsUtilitaires  Terminal

Connexion à distance à rayon1 Connexion dans les autres laboratoires UQAM Choisir le menu Tous les programmesInternetPutty ssh Entrer l’adresse : rayon1.labunix.uqam.ca Connexion ailleurs (Ex: à la maison) Avec Linux, ouvrir un terminal et taper la commande ssh Adresse du serveur (Exemple : ssh rayon1.labunix.uqam.ca) Identification requise (Code MS, mot de passe) Avec Windows 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/SSHSecureShellClient-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 : rayon1.labunix.uqam.ca Identification requise (Code MS, mot de passe)

Connexion à distance au serveur Arabica (Suite)

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

Fonctions UNIX de base (Suite) Système de fichiers Contenu d’un répertoire et attribut de fichier 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 fichier1.txt) commande | more : affiche la sortie de commande écran par écran (ls | more) Grep mot_clé fichier : Recherche mot clé dans fichier -i : Ne tient pas compte de la casse -n indique les numéros de ligne Manipulation des répertoires pwd : visualise la référence absolue du répertoire de travail mkdir référence : Crée un ou plusieurs répertoires vide mkdir tp1 tp2 cd référence : Changer de répertoire rmdir référence : Supprimer les répertoires referencees

Fonctions UNIX de base (Suite) Modification des attributs de fichiers Chmod modification référence Modification : [ugoa][+-=] 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) Copie, renommage et suppression d’un fichier 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) Sortir du shell Ctrl +D exit logout

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

Commandes de manipulation des tampons 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 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 Importation des bibliothèques #include <mabiblio.h> Déclaration des constantes #define TAILLE 3 Déclaration des structures de données struct Personne{ char *nom; char *prenom; char *adresse; … }; Déclaration des prototypes des sous programmes (fonctions et procédures) int fonct(int, float, double); Définition des sous programmes 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) #include <stdio.h> int main() { printf(« Bonjour\n »); return 0; }

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

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

La precompilation Directives de precompilation Définition des constantes avec #define Les macros (#define) Les fichiers d’inclusions (#include <biblio.h> Les directives de compilation conditionnelle #if expression #ifdef identificateur #ifndef identificateur Option de precompilation avec gcc -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) Exercice Que fournit le preprocesseur au contenu du fichier essai.c /*Juste un essai pour voir ce que ca donne*/ #define TAILLE 1000 #define f(x, y) (x*y) int tab(TAILLE); n= f(tab[0]+tab[1], tab[TAILLE-1]+2); #undef TAILLE int tab2[TAILLE]; Quels sont les résultats avec l’option –E, -E et –C, -E –C et –P.

Les options de compilation -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) Exercice É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 -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 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 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