1 / 24

Démo I : INF3135

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

flower
Download Presentation

Démo I : INF3135

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. 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

  4. 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)

  5. Connexion à distance au serveur Arabica (Suite)

  6. Fonctions UNIX de base • Changer mot de passe • 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

  7. 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

  8. 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

  9. 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.

  10. Fonctions unix de base (Suite) • Sortir du shell • Ctrl +D • exit • logout

  11. 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

  12. 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.

  13. 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.

  14. 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;}

  15. Un simple programme (bonjour.c) • #include <stdio.h> • int main() • { • printf(« Bonjour\n »); • return 0; • }

  16. 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

  17. 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

  18. 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.

  19. 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.

  20. 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

  21. 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.

  22. 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.

  23. Édition de lien – Édition statique • É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.

  24. Édition de lien – Édition dynamique • É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

More Related