24
Démo I : INF3135 Construction et maintenance de logiciels Groupe : 10 Monitrice : Kerlyne Fostine Courriel : [email protected]

Démo I : INF3135

  • Upload
    flower

  • View
    40

  • Download
    0

Embed Size (px)

DESCRIPTION

Démo I : INF3135. Construction et maintenance de logiciels Groupe : 10 Monitrice : Kerlyne Fostine Courriel : [email protected]. Plan de la démonstration. Utilisation de UNIX sur Rayon1 Connexion à distance au serveur Fonctions UNIX de base - PowerPoint PPT Presentation

Citation preview

Démo I : INF3135

Construction et maintenance de logicielsGroupe : 10

Monitrice : Kerlyne FostineCourriel : [email protected]

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 ApplicationsUtilitaires Terminal

Connexion à distance à rayon1 Connexion dans les autres laboratoires UQAM

Choisir le menu Tous les programmesInternetPutty 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

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