Quelques éléments de compilation en C et makefiles

Dimension: px
Commencer à balayer dès la page:

Download "Quelques éléments de compilation en C et makefiles"

Transcription

1 Quelques éléments de compilation en C et makefiles Guillaume Feuillade 1 Compiler un programme C Le principe de la compilation consiste à passer d un ensemble de fichiers de code à un programme exécutable sur une machine. Cette transformation est effectuée par un ensemble de programmes qu il est important de bien comprendre et maîtriser. 1.1 Commandes de compilation On trouve généralement, sur les machines Unix du U3, les commandes suivantes permettant d effectuer la compilation de programmes en C : cc, gcc Je vous recommande personnellement d utiliser de préférence le programme gcc, en particulier pour ses messages d erreurs qui sont souvent plus explicites et utiles. 1.2 Compiler un programme comportant plusieurs fichiers de code vous avez probablement déjà utilisé un programme de compilation de la manière suivante : gcc fichier.c à partir d un fichier de code fichier.c, le programme gcc construit un fichier exécutable dont le nom est celui par défaut a.out. Peut être avez-vous déjà utilisé l option -o de la manière suivante : gcc fichier.c -o executable l option -o permet de spécifier quel sera le nom de la sortie du programme gcc, ici c est l exécutable généré. Dans le cas de la compilation de plusieurs fichiers. Vous avez peut-être également utilisé une commande de cette sorte : gcc fichier1.c fichier2.c -o executable cette ligne permet de générer le fichier exécutable à partir de plusieurs fichiers de code. Cette méthode pour générer un exécutable est fortement déconseillée car elle cache les étapes intermédiaires et conduit souvent à des erreurs de la part du programmeur Compilation et édition de liens, principe Il est important de bien comprendre le processus de compilation. Le problème qui se pose quand on compile plusieurs fichiers de code est qu il y a dans certains de ces fichiers des appels à des fonctions ou variables qui apparaissent dans d autres fichiers. À cause de ce fait, la compilation d un code écrit en C se décompose en plusieurs étapes. Supposons que l ont ait des fichiers de code fichier1.c, fichier2.c, fichiern.c. Pour passer de ces multiples fichiers de code à un exécutable, on effectue les étapes suivantes : 1

2 1. pour chacun des fichier fichieri.c on effectue l étape de compilation. Cette étape consiste à construire un fichier binaire (dit fichier objet), presque compréhensible par la machine. Cependant, comme certaines fonctions ou variables utilisées dans ce code ne sont pas définie dans le fichier (ils sont définis dans d autres des fichiers de code), il n est pas possible de traduire leurs appels en langage machine. Par conséquent ces appels sont laissés tels quels dans le fichier binaire produit. Le résultat est un fichier, usuellement nommé fichieri.o qui n est pas exécutable. 2. Une fois que tous les fichiers.o ont été générés, par autant de compilations, on peut effectuer l étape d édition de lien. Lors de cette étape, le programme d édition de lien va mettre bout-à-bout tous les fichiers.o nécessaires puis va résoudre les appels qui ont été laissés durant l étape de compilation. Résoudre les appels consiste à remplacer l appel à la fonction par un lien (un saut) vers la fonction elle-même (qui se trouve à un endroit différent dans le binaire). Enfin, l édition de lien positionne le point de départ du programme (la première ligne de la fonction main) Compilation et édition de liens, application En utilisant gcc on peut (et on va) effectuer ces deux étapes séparément. Dans un premier temps, on effectue la compilation avec l option -c : gcc -c -Wall fichier1.c gcc -c -Wall fichier2.c cela nous permet d obtenir les fichiers binaires fichier1.o, fichier2.o, Nous pouvons maintenant démarrer l étape d édition de lien. Il suffit pour cela de passer les fichier.o à gcc de la manière suivante : gcc fichier1.o fichier2.o -o executable On obtient enfin le fichier exécutable, qu on pourra alors lancer directement en tapant :./executable Remarque : prenez l habitude d effectuer l étape de compilation avec l option -Wall qui active tous les warnings. Ceux-ci sont souvent très utiles pour détecter des erreurs qui passent à la compilation mais causent des problèmes à l exécution. 1.3 Utilité des fichiers header Lorsque l on souhaite obtenir un exécutable à partir d un code réparti sur plusieurs fichiers, on a vu qu il était nécessaire de compiler chacun des fichiers.c séparément. Lorsqu un de ces fichiers de code utilise par exemple une fonction définie dans un autre fichier, même si lors du processus de génération du.o il ne va pas traiter les appels à cette fonction mais il a tout de même besoin de connaître la signature de la fonction pour être en mesure de faire les vérifications de type nécessaires à la compilation. Pour cela on utilise des fichiers header avec le principe suivant : pour chaque fichier.c, par exemple fichier.c, qui définit des fonctions ou variables susceptibles d être utilisés dans d autre fichiers.c il est nécessaire d écrire un fichier header correspondant avec l extension.h (fichier.h dans notre exemple). Ce fichier header contient les signatures des fonctions et variables utilisables dans d autres fichiers de code. Les signatures sont données comme sur l exemple suivant : 2

3 int f(int, char *) Lorsqu un autre fichier de code utilise une de ces fonctions, il doit inclure le fichier header dans son préambule de la manière suivante : #include fichier.h À noter que la syntaxe du #include est différente de celle des librairies standard (pour des raisons de chemin d accès) ; en effet, on utilise la syntaxe suivante : #include<stdlib.h> 1.4 Headers et compilation Que se passe-t-il lorsque l on compile un fichier contenant la directive #include fichier.h? La toute première étape de la compilation est le passage du préprocesseur C. Celui ci a pour rôle, pour simplifier, de supprimer les commentaires et de traiter les instructions commençant par # (macros etc.). Pour le cas du #include fichier.h, le travail du préprocesseur consiste simplement à aller chercher le fichier inclus et à le copier à l emplacement de l instruction. Par conséquent, inclure un fichier header est équivalent à recopier au début du fichier les signatures des fonctions et variables que l on souhaite inclure. Remarque : dans des projets un peu complexe, il n est pas toujours évident de bien planifier les inclusions pour éviter que la même fonction ne soit définir plusieurs fois (ce qui engendre une erreur de compilation). Pour cette raison il est parfois d usage d encadrer le fichier header de la manière suivante (exemple pour notre fichier.c) : #IFNDEF _FICHIER.H_ #DEFINE _FICHIER.H_ signatures des fonctions et variables #ENDIF L utilité de cette méthode est que, même si le fichier header se trouve inclus plusieurs fois, il ne sera conservé qu en un unique exemplaire par le préprocesseur. 2 Utilisation de fichiers makefile pour la compilation L objectif de cette section est de (re-)voire la méthode pour automatiser la compilation de programmes en C en utilisant des fichier makefile. 2.1 Principes Un fichier makefile est un fichier spécifiquement conçu pour être utilisé par un programme (make ou gmake). Le fichier doit impérativement se nommer makefile pour être correctement sélectionné par make.le but de ces programmes est d automatiser les processus liés à la compilation de code ainsi que certaine autres tâches. Il existe d autres programmes et d autre formats de fichiers qui permettent de faire 3

4 des choses équivalents, mais dans le cadre des TP nous allons utiliser les fichiers makefile. À noter que dès qu un code dépasse les 2 fichiers à compiler il est impératif de chercher à automatiser les tâches de compilation, une approche manuelle des compilation serait alors une perte de temps et une source supplémentaire d erreurs. Un fichier makefile contient des règles de la forme suivante (séparées par des lignes vides) : cible : dépendance [tabulation] commandes la [tabulation] correspond bien à l espacement obtenu. grâce à la touche du même nom. Attention à bien respecter cette syntaxe. La commande peut si besoin être exprimée sur plusieurs lignes, chacune commençant par une tabulation. Une règle se comprend de la manière suivante : pour fabriquer la cible, il faut d abord vérifier que les dépendances sont à jour, en les produisant dans un premier temps si nécessaire. Lorsque c est le cas, et que les dépendances sont plus récentes que la cible, make va alors exécuter les commandes pour produire la cible. Parfois la cible n est pas produite, c est la cas dans la règle suivante, qui ne produit pas de fichier : clean : rm *.o 2.2 Un makefile simple Nous allons définir un fichier makefile pour le cas suivant : on dispose d un fichier erreur.c qui définir la fonction erreur on a écrit le fichier header erreur.h correspondant on a écrit un fichier exo1.c qui contient la fonction main et qui utilise la fonction erreur (et donc qui inclut le fichier erreur.h). Dans ce cas, voici un exemple de makefile que nous pouvons définir : exo1 : exo1.o erreur.o gcc exo1.o erreur.o -o exo1 exo1.o : exo1.c erreur.h gcc -c -Wall exo1.c erreur.o : erreur.c gcc -c -Wall erreur.c clean : rm *.o Voici le fonctionnement de ce fichier makefile : lorsque vous voulez construire votre exécutable exo1 vous pouvez taper make exo1 pour demander à make de traiter la règle correspondante. Vous pouvez 4

5 également taper uniquement make (dans ce cas make traite par défaut la première règle du fichier). Voici ce que make va faire : 1. regarder les dépendances de la règle exo1. Il faut que exo1.o et erreur.o soient à jour. 2. on commence par exo1.o. On sélectionne la règle correspondante et on regarde les dépendances : exo1.c et erreur.h. Pour ces deux dépendances on ne dispose pas de règle, on vérifie donc juste leur présence et on compare leurs dates à celle du fichier exo1.o si exo1.o existe et est plus récent que exo1.c et erreur.h alors il est à jour et il n y a rien à faire. si exo1.o n existe pas ou est plus ancien que exo1.c où erreur.h, dans ce cas il faut le refabriquer. Pour cela make exécute la commande correspondante : gcc -c -Wall exo1.c. 3. On procède ensuite de même pour erreur.o, il sera généré si il n existe pas ou est plus ancien que erreur.c 4. Maintenant que les dépendances sont à jour, on peut s occuper de exo1. Si celui-ci n existe pas ou est plus ancien que exo1.o ou erreur.o, on va alors exécuter gcc exo1.o erreur.o -o exo1. Remarquons que si on travaille quelque temps sur exo1.c et qu on ne modifie plus erreur.c alors make ne redemandera pas la compilation de erreur.c à chaque fois qu il est invoqué, ce qui serait inutile. Remarquons également que l on a mis erreur.h dans les dépendance de exo1.o, l idée derrière ceci est de forcer à recompiler exo1.c si l on décidait de modifier la signature de la fonction erreur. 2.3 Améliorer son fichier makefile Le fichier makefile présenté ci-dessus est très simple. Il est suffisant pour un projet simple, mais il existe beaucoup d options et de simplifications disponibles pour les fichiers makefile. Je vous encourage à aller chercher des documentations pour améliorer vos fichiers makefile. N oubliez pas que les outils de compilation, de type make sont des outils que vous serez probablement amenés à utiliser dans un cadre professionnel, il est dont entièrement profitable de s auto-former sur ce type d outils : le bénéfice ira beaucoup plus loin que les TPs de PPU. 2.4 Un makefile de départ Sur la page-web où se trouve ce document, vous trouverez un fichier makefile. Ce fichier est prévu pour être utilisé dès l exercice 2. Comme la première règle (cible) a pour dépendance exo2, il suffit de taper make pour fabriquer l exécutable. Quand vous passerez aux exercices suivant, il faut rajouter les règles correspondantes (par exemple pour exo4.o et exo4), et de modifier la ligne cible pour mettre l exercice courant par défaut (dans notre exemple exo4. Vous pouvez taper make clean pour supprimer les fichiers.o. 5

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Seance 2: Complétion du code de jeu. (durée max: 2h) Mot clé const et pointeurs: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Implémentez jeu_recupere_piece

Plus en détail

Cours Langage C/C++ Programmation modulaire

Cours Langage C/C++ Programmation modulaire Cours Langage C/C++ Programmation modulaire Thierry Vaira BTS IRIS Avignon tvaira@free.fr «v0.1 Rappel Programmation modulaire (1/2) Le découpage d'un programme en sous-programmes est appelée programmation

Plus en détail

Concevoir un Makefile. Vincent Loechner (original : Nicolas Zin, http://www.linux.efrei.fr/)

Concevoir un Makefile. Vincent Loechner (original : Nicolas Zin, http://www.linux.efrei.fr/) Concevoir un Makefile Vincent Loechner (original : Nicolas Zin, http://www.linux.efrei.fr/) 17 novembre 2003 Table des matières 1 Introduction 2 2 Création d un makefile 3 2.1 Simple Makefile............................

Plus en détail

1.1- Compiler et exécuter un premier programme en C++

1.1- Compiler et exécuter un premier programme en C++ 1.1- Compiler et exécuter un premier programme en C++ 1- Un premier programme en C++ 2- Compilation et exécution 1- Un premier programme en C++ Le premier programme que propose le cours consiste à afficher

Plus en détail

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis

Plus en détail

Compilation séparée. Compilation séparée. ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1

Compilation séparée. Compilation séparée. ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1 Compilation séparée Compilation séparée ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1 Compilation séparée Modularité GCC : 4 millions de lignes de code Noyau

Plus en détail

Mon premier rpm. http://alexandre-mesle.com 7 juin 2010. 1 Avant de commencer 2 1.1 RPM... 2 1.2 URPMI... 2 1.3 RPMBUILD... 2

Mon premier rpm. http://alexandre-mesle.com 7 juin 2010. 1 Avant de commencer 2 1.1 RPM... 2 1.2 URPMI... 2 1.3 RPMBUILD... 2 Mon premier rpm http://alexandre-mesle.com 7 juin 2010 Table des matières 1 Avant de commencer 2 1.1 RPM....................................................... 2 1.2 URPMI.....................................................

Plus en détail

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.be Qu est-ce que la programmation? Programmer Ecrire un

Plus en détail

UE Programmation Impérative Licence 2ème Année 2014 2015

UE Programmation Impérative Licence 2ème Année 2014 2015 UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Mini-Projet : Tournoi de Dames

Mini-Projet : Tournoi de Dames Mini-Projet : Tournoi de Dames L objectif du projet est de programmer un jeu de dames de façon à ce que votre programme puisse jouer une partie de dames avec les programmes des autres étudiants. 1 Organisation

Plus en détail

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

Plus en détail

Guide pour la conception d'une application en C

Guide pour la conception d'une application en C Guide pour la conception d'une application en C Ph. Preux DESS IMST, ULCO Novembre 1999 1 Principes généraux Une application informatique, dès qu'elle dépasse une centaine de lignes de code, doit impérativement

Plus en détail

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

10.3.1.4 Travaux pratiques Sauvegarde et récupération de données sous Windows 7

10.3.1.4 Travaux pratiques Sauvegarde et récupération de données sous Windows 7 5.0 10.3.1.4 Travaux pratiques Sauvegarde et récupération de données sous Windows 7 Introduction Imprimez et faites ces travaux pratiques. Au cours de ce TP, vous allez sauvegarder des données. Vous effectuerez

Plus en détail

Outils pour la pratique

Outils pour la pratique Cinquième partie Outils pour la pratique 121 CHAPITRE 1 Les bases des séances de TP Avant de lire cettre section, il est suggéré de relire vos notes de cours se rapportant au système d exploitation Unix.

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

Le langage C. Ecole Supérieure de Physique et de Chimie Industrielles de la Ville de Paris. Service Informatique Enseignement Année scolaire 2013/2014

Le langage C. Ecole Supérieure de Physique et de Chimie Industrielles de la Ville de Paris. Service Informatique Enseignement Année scolaire 2013/2014 Ecole Supérieure de Physique et de Chimie Industrielles de la Ville de Paris Service Informatique Enseignement Année scolaire 2013/2014 Le langage C Didier Cassereau Téléphone : 01.40.79.44.69 E-mail :

Plus en détail

TP1. Outils Java Eléments de correction

TP1. Outils Java Eléments de correction c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par

Plus en détail

Utiliser Dev-C++ .1Installation de Dev-C++ Table des matières

Utiliser Dev-C++ .1Installation de Dev-C++ Table des matières Utiliser Dev-C++ Voici quelques explications sur l utilisation de Dev-C++, un excellent environnement de développement en C et C++ pour Windows qu on peut télécharger librement depuis le site www.bloodshed.net

Plus en détail

Le langage PHP. Walid Belkhir Université de Provence belkhir@cmi.univ-mrs.fr http://www.lif.univ-mrs.fr/ belkhir/

Le langage PHP. Walid Belkhir Université de Provence belkhir@cmi.univ-mrs.fr http://www.lif.univ-mrs.fr/ belkhir/ Le langage PHP Walid Belkhir Université de Provence belkhir@cmi.univ-mrs.fr http://www.lif.univ-mrs.fr/ belkhir/ 1 / 38 Plan 1 Introduction au langage PHP 2 2 / 38 Qu est ce que PHP? langage interprété

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de

Plus en détail

Administration de Parc Informatique TP09 : aptitude, administration de comptes utilisateurs et retour sur marionnet

Administration de Parc Informatique TP09 : aptitude, administration de comptes utilisateurs et retour sur marionnet Institut Galilée L2 Info S1 Année 2011 2012 Administration de Parc Informatique TP09 : aptitude, administration de comptes utilisateurs et retour sur marionnet 1 Introduction Pendant la première partie

Plus en détail

Systèmes répartis : les Remote Procedure Calls p.1/25

Systèmes répartis : les Remote Procedure Calls p.1/25 Systèmes répartis : les Remote Procedure Calls Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Systèmes répartis : les Remote Procedure Calls p.1/25 Les Remote Procedure Calls

Plus en détail

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université

Plus en détail

Cours d initiation à la programmation en C++ Johann Cuenin

Cours d initiation à la programmation en C++ Johann Cuenin Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................

Plus en détail

TP1 - Prise en main de l environnement Unix.

TP1 - Prise en main de l environnement Unix. Mise à niveau UNIX Licence Bio-informatique TP1 - Prise en main de l environnement Unix. Les sujets de TP sont disponibles à l adresse http://www.pps.jussieu.fr/~tasson/enseignement/bioinfo/ Les documents

Plus en détail

Conventions d écriture et outils de mise au point

Conventions d écriture et outils de mise au point Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Cours de C/C++ par la pratique. Hugues Talbot

Cours de C/C++ par la pratique. Hugues Talbot Cours de C/C++ par la pratique Hugues Talbot 24 octobre 2008 2 Table des matières 1 Comment démarrer? 7 1.1 Un programme simple en C pur.......................... 7 1.2 Un programme en C ++...............................

Plus en détail

ENVIRONNEMENT DE DÉVELOPPEMENT

ENVIRONNEMENT DE DÉVELOPPEMENT CHAPITRE 1 ENVIRONNEMENT DE DÉVELOPPEMENT Installer Microsoft Visual C++ 2010 Express Edition... 17 Démarrer un nouveau projet... 21 Créer un programme minimal... 24 Générer et exécuter un programme...

Plus en détail

TD séance n 5 Répertoires et Fichiers sous Windows

TD séance n 5 Répertoires et Fichiers sous Windows 1 Environnement de travail 1.1 Interpréteur de commandes Sous Windows, vous disposez d outils pour manipuler graphiquement les éléments de votre ordinateur. Mais comme sous Linux, vous disposez aussi d

Plus en détail

[WINDOWS 7 - LES FICHIERS] 28 avril 2010. Logiciel / Windows

[WINDOWS 7 - LES FICHIERS] 28 avril 2010. Logiciel / Windows Ce dossier a une forme un peu différente des précédentes : c est un ensemble de «fiches» décrivant chacune une des opérations que l on peut effectuer avec un fichier (enregistrer, renommer, etc.). Chaque

Plus en détail

Chapitre 10 : Logiciels

Chapitre 10 : Logiciels Chapitre 10 : Logiciels Installation de logiciels dans Linux IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 1 10.1 Installation manuelle Cette partie explique comment on compile et installe un logiciel

Plus en détail

Movie Maker 2 Document de travail CSEM Services pédagogiques Conception originale de Julye Lamontagne

Movie Maker 2 Document de travail CSEM Services pédagogiques Conception originale de Julye Lamontagne 2 Document de travail CSEM Services pédagogiques Conception originale de Julye Lamontagne Une fois le logiciel correctement installé, démarrez Movie Maker 2 : Programmes/ Accessoires/ Divertissement/ Windows

Plus en détail

Introduction à Visual C++

Introduction à Visual C++ Algorithmique/Langage 1ère année Introduction à Visual C++ Yacine BELLIK IUT d Orsayd Université Paris XI Plan Aperçu u global de l'environnement Zone des messages Zone d'édition dition Zone d'exploration

Plus en détail

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus : 1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus : La procédure d installation démarre. La fenêtre suivante vous indique

Plus en détail

C++ Programmer. en langage. 8 e édition. Avec une intro aux design patterns et une annexe sur la norme C++11. Claude Delannoy

C++ Programmer. en langage. 8 e édition. Avec une intro aux design patterns et une annexe sur la norme C++11. Claude Delannoy Claude Delannoy Programmer en langage C++ 8 e édition Avec une intro aux design patterns et une annexe sur la norme C++11 Groupe Eyrolles, 1993-2011. Groupe Eyrolles, 2014, pour la nouvelle présentation,

Plus en détail

Chapitre 1 Introduction aux compilateurs (et aux interpréteurs)

Chapitre 1 Introduction aux compilateurs (et aux interpréteurs) Chapitre 1 Introduction aux compilateurs (et aux interpréteurs) Jean Privat Université du Québec à Montréal INF5000 Théorie et construction des compilateurs Automne 2013 Jean Privat (UQAM) 01 Introduction

Plus en détail

Un ordinateur dans des conditions de test ou d évaluation

Un ordinateur dans des conditions de test ou d évaluation Un ordinateur dans des conditions de test ou d évaluation Nous allons voir comment créer un environnement d examen, aussi bien sur Mac que sur Windows. Il faut garder à l esprit qu il ne faut pas seulement

Plus en détail

Visual Basic pour Applications

Visual Basic pour Applications Visual Basic pour Applications Les concepts de base de la programmation, 1ère partie Romain Tavenard Kévin Huguenin Christophe Avenel Romain.Tavenard@irisa.fr Kevin.Huguenin@gmail.com Christophe.Avenel@irisa.fr

Plus en détail

Introduction à l héritage en C++

Introduction à l héritage en C++ Algorithmique/Langage 1ère année Introduction à l héritage en C++ Yacine BELLIK IUT d Orsay Yacine.Bellik@iut-orsay.fr 1 Bibliographie Ce cours est basé sur le livre suivant : Programmer en C++, 5ème édition

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

Utiliser Word. Thibault J-Jacques Animateur multimédia au CRDP de l académie de Versailles. Page 1 sur 12

Utiliser Word. Thibault J-Jacques Animateur multimédia au CRDP de l académie de Versailles. Page 1 sur 12 Utiliser Word Les fonctions de base de Word.... 2 Enregistrer le document en cours... 3 Un menu à connaître... 3 Ouvrir/fermer/réduire un document existant... 4 Réparer des erreurs de frappe... 4 Déplacer

Plus en détail

Système d exploitation

Système d exploitation Chapitre 2 Système d exploitation 2.1 Définition et rôle Un ordinateur serait bien difficile à utiliser sans interface entre le matériel et l utilisateur. Une machine peut exécuter des programmes, mais

Plus en détail

Remise à niveau d un programme JAVA du domaine public

Remise à niveau d un programme JAVA du domaine public Jean-Baptiste VIGUIER 12 septembre 2002 DCEM 2 jb.viguier@free.fr Remise à niveau d un programme JAVA du domaine public Dossier réalisé pour le laboratoire d oncogénétique Docteur P.GORRY MCU-PH institut

Plus en détail

Emacs. 1 Macros Clavier ENVIRONNEMENT DE DÉVELOPPEMENT (6)

Emacs. 1 Macros Clavier ENVIRONNEMENT DE DÉVELOPPEMENT (6) ENVIRONNEMENT DE DÉVELOPPEMENT (6) Emacs 1 Macros Clavier 1.1 Définition d une macro-clavier Récupérer le fichier fichiers-06.tar.gz, puis désarchiver le afin d obtenir le fichier more.man, puis placez

Plus en détail

Cours de C. Portabilité, maintenabilité & réutilisabilité. Sébastien Paumier

Cours de C. Portabilité, maintenabilité & réutilisabilité. Sébastien Paumier Cours de C Portabilité, maintenabilité & réutilisabilité Sébastien Paumier paumier@univ-mlv.fr Illustrations provenant du site http://tux.crystalxp.net/ 1 Portabilité qu'est-ce qu'un code portable? indépendance

Plus en détail

Introduction à Access VBA (article invité)

Introduction à Access VBA (article invité) Introduction à Access VBA (article invité) Suite à des demandes d abonnés concernant le VBA, j ai proposé à Hervé Inisan du blog Le grenier Access d écrire un article invité à ce sujet, comme je l ai proposé

Plus en détail

Introduction à la programmation en C

Introduction à la programmation en C Introduction à la programmation en C Cours 1 19/12/2012 La compilation : du langage haut niveau au langage machine. Samy BLUSSEAU, Miguel COLOM Objectifs du cours : - Être capable de construire des programmes

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

Créer le schéma relationnel d une base de données ACCESS

Créer le schéma relationnel d une base de données ACCESS Utilisation du SGBD ACCESS Polycopié réalisé par Chihab Hanachi et Jean-Marc Thévenin Créer le schéma relationnel d une base de données ACCESS GENERALITES SUR ACCESS... 1 A PROPOS DE L UTILISATION D ACCESS...

Plus en détail

Premier programme VBA : syntaxe, édition, compilation

Premier programme VBA : syntaxe, édition, compilation 1 Premier programme VBA : syntaxe, édition, compilation Le langage VBA (Visual Basic for Applications) permet de concevoir des programmes selon une syntaxe qui lui est propre, puis d éditer et d exécuter

Plus en détail

Minte Bafodé Ghoraf Mouhsin. Compte rendu TP de sauvegardes

Minte Bafodé Ghoraf Mouhsin. Compte rendu TP de sauvegardes Minte Bafodé Ghoraf Mouhsin Compte rendu TP de sauvegardes 1 SOMMAIRE : Contexte. 3 Introduction...3 Objectif.. 3 I. La sauvegarde et la restauration des données et informations personnelles. 4 A. La sauvegarde

Plus en détail

Optimisation de logiciels de modélisation sur centre de calcul

Optimisation de logiciels de modélisation sur centre de calcul Optimisation de logiciels de modélisation sur centre de calcul Gérald Monard Pôle de Chimie Théorique http://www.monard.info/ Introduction Les ordinateurs sont des appareils électroniques permettant d

Plus en détail

La création d un paquet Debian. Aurélien Jarno. Journées du Logiciel Libre. 15 octobre 2005

La création d un paquet Debian. Aurélien Jarno. Journées du Logiciel Libre. 15 octobre 2005 Journées du Logiciel Libre 15 octobre 2005 Plan Les paquets Du code source aux binaires Qu est ce que créer un paquet? Les paquets sources Composés de trois fichiers :.orig.tar.gz Le code source original,

Plus en détail

Cours 1 : La compilation

Cours 1 : La compilation /38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà

Plus en détail

Les bons réflexes : le bureau et la zone de notification : Les programmes qui s activent au démarrage ; Enlever / supprimer un programme ;

Les bons réflexes : le bureau et la zone de notification : Les programmes qui s activent au démarrage ; Enlever / supprimer un programme ; Table des matières : Les bons réflexes : le bureau et la zone de notification ; Les programmes qui s activent au démarrage ; Éviter les toolbars et/ou les logiciels indésirables lors de l installation

Plus en détail

N importe qui possédant un code MS valide peut initier la rencontre. Néanmoins, il serait préférable de laisser cette

N importe qui possédant un code MS valide peut initier la rencontre. Néanmoins, il serait préférable de laisser cette Les fonctionnalités de Secure Meeting permettent aux utilisateurs de tenir des réunions avec d autres utilisateurs internes et externes au réseau et de collaborer en toute sécurité. Bien que plusieurs

Plus en détail

INSTALLATION ET CONFIGURATION DE OPENLDAP

INSTALLATION ET CONFIGURATION DE OPENLDAP INSTALLATION ET CONFIGURATION DE OPENLDAP Ce document a pour intérêt de décrire les étapes de l installation et de la configuration de l outil OpenLDAP sous l OS FreeBSD 4.8 Installation et Configuration

Plus en détail

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes

Plus en détail

Installation et prise en main

Installation et prise en main TP1 Installation et prise en main Android est le système d'exploitation pour smartphones, tablettes et autres appareils développé par Google. Pour permettre aux utilisateurs d'installer des applications

Plus en détail

Chapitre 1 Qu est-ce qu une expression régulière?

Chapitre 1 Qu est-ce qu une expression régulière? Chapitre 1 Qu est-ce qu une expression régulière? Les ordinateurs n ont pas du tout la même conception des textes que nous : pour nous, un texte est un ensemble d idées couchées sur papier. Nous nous en

Plus en détail

Environnements et Outils de Développement Cours 1 Introduction

Environnements et Outils de Développement Cours 1 Introduction Environnements et Outils de Développement Cours 1 Introduction Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot - Paris 7 URL http://upsilon.cc/~zack/teaching/1112/ed6/

Plus en détail

La mémoire. Un ordinateur. L'octet. Le bit

La mémoire. Un ordinateur. L'octet. Le bit Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve

Plus en détail

Introduction à l Interaction Homme-Machine Tutoriel Visual Studio / Visual Basic

Introduction à l Interaction Homme-Machine Tutoriel Visual Studio / Visual Basic IUT d Orsay Première Année Introduction à l Interaction Homme-Machine Février 2014 Introduction à l Interaction Homme-Machine Tutoriel Visual Studio / Visual Basic Cette introduction à Visual Studio est

Plus en détail

Sommaire MQL4 pour les nuls

Sommaire MQL4 pour les nuls Sommaire MQL4 pour les nuls 1. Introduction 2. MetaEditor 3. Les types de données 4. Les variables 5. Expressions et opérateurs 6. Les fonctions 7. Instructions conditionnelles et boucles 8. Indentations,

Plus en détail

Algorithme. Table des matières

Algorithme. Table des matières 1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............

Plus en détail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 I. Objectif du TP TP1 : Initiation à Java et Eclipse Programmation Mobile Initiation à l environnement Eclipse et aux notions de base du langage Java. II. Environnement

Plus en détail

6. Des objets bien conçus

6. Des objets bien conçus Conception objet en Java avec BlueJ une approche interactive 6. Des objets bien conçus David J. Barnes, Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0 Conception objet en Java avec

Plus en détail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés

Plus en détail

Notation fonctionnelle : Union (R,S) ou OR (R, S) Chapitre 4 : Algèbre Relationnelle

Notation fonctionnelle : Union (R,S) ou OR (R, S) Chapitre 4 : Algèbre Relationnelle Chapitre 4 : IV. Qu est-ce que l algèbre relationnelle? Une collections d opérations, chacune agissant sur une ou deux relations et produisant une relation en résultat. Un langage pour combiner ces opérations.

Plus en détail

Notice d installation et d utilisation du blog nomade avec un nouveau blog

Notice d installation et d utilisation du blog nomade avec un nouveau blog Notice d installation et d utilisation du blog nomade avec un nouveau blog Pour utiliser le blog nomade, il faut avoir un blog en ligne (fait avec wordpress 1 ) que nous synchronisons avec le blog sur

Plus en détail

SUPPORT DE COURS ACCESS 2010

SUPPORT DE COURS ACCESS 2010 Qu est-ce qu Access? Access 2010 est un outil de déploiement et de conception d application de base de données que vous pouvez utiliser pour effectuer le suivi d informations importantes. Vous pouvez conserver

Plus en détail

Introduction. Qu est-ce que Visual Basic 2008?

Introduction. Qu est-ce que Visual Basic 2008? Je suis profondément ravi que vous ayez choisi ce livre pour acquérir les compétences et techniques de programmation avec Microsoft Visual Basic 2008. Si nous nous découvrons mutuellement dans ce paragraphe,

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

Installation et utilisation du client FirstClass 11

Installation et utilisation du client FirstClass 11 Installation et utilisation du client FirstClass 11 Support par téléphone au 03-80-77-26-46 ou par messagerie sur la conférence «Support Melagri» Sommaire Page I) Installation du client FirstClass 2 II)

Plus en détail

Le publipostage (parfois appelé mailing)

Le publipostage (parfois appelé mailing) Le publipostage (parfois appelé mailing) Le principe : Dans d un texte de base unique (lettre, invitation, fiche administrative, relevé de notes ) on va insérer des informations personnalisées (nom, prénom,

Plus en détail

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/8.1 64 bits, Windows 2008 R2 et Windows 2012 64 bits

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/8.1 64 bits, Windows 2008 R2 et Windows 2012 64 bits WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/8.1 64 bits, Windows 2008 R2 et Windows 2012 64 bits Manuel d initiation du Planificateur 2 INTRODUCTION 5 CHAPITRE I : INSTALLATION

Plus en détail

INITIATION AU SYSTEME D EXPLOITATION WINDOWS 2000

INITIATION AU SYSTEME D EXPLOITATION WINDOWS 2000 INITIATION AU SYSTEME D EXPLOITATION WINDOWS 2000 Introduction : Initiation à la Micro- Informatique 1. Matériel 2. Périphériques a) Le clavier b) La souris c) L écran d) L unité centrale e) L imprimante

Plus en détail

Héritage en java : Calculatrice SDC

Héritage en java : Calculatrice SDC Programmation orientée objet L3 MIAGE Héritage en java : Calculatrice SDC Travail à rendre : le code complet du projet SDC sous forme d une archive tar.gz. L archive comportera trois répertoires : un répertoire

Plus en détail

Utilisez Toucan portable pour vos sauvegardes

Utilisez Toucan portable pour vos sauvegardes Utilisez Toucan portable pour vos sauvegardes Préambule Toucan est un logiciel libre et gratuit, permettant de réaliser des sauvegardes ou synchronisation de vos données. Il est possible d automatiser

Plus en détail

TUTORIEL Qualit Eval. Introduction :

TUTORIEL Qualit Eval. Introduction : TUTORIEL Qualit Eval Introduction : Qualit Eval est à la fois un logiciel et un référentiel d évaluation de la qualité des prestations en établissements pour Personnes Agées. Notre outil a été spécifiquement

Plus en détail

PG208, Projet n 3 : Serveur HTTP évolué

PG208, Projet n 3 : Serveur HTTP évolué PG208, Projet n 3 : Serveur HTTP évolué Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif

Plus en détail

Comment compiler un programme MATLAB

Comment compiler un programme MATLAB Comment compiler un programme MATLAB 1- Introduction Le compilateur MATLAB génère un code source C à partir d une fonction MATLAB. Le code C généré par le compilateur MATLAB peut être: soit un code source

Plus en détail

Notes du cours 4M056 Programmation en C et C++ Vincent Lemaire et Damien Simon

Notes du cours 4M056 Programmation en C et C++ Vincent Lemaire et Damien Simon Notes du cours 4M056 Programmation en C et C++ Vincent Lemaire et Damien Simon 13 janvier 2015 2 Table des matières Organisation générale du cours 7 1 Notions générales d algorithmique et de programmation

Plus en détail

Cours Programmation Système

Cours Programmation Système Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda m.daoudi@fso.ump.ma Février

Plus en détail

Projet De Stijl Plate-forme pour robots mobiles

Projet De Stijl Plate-forme pour robots mobiles Projet De Stijl Plate-forme pour robots mobiles Guide de prise en main de Xenomai et des cibles Version : 22 janvier 2013 S. Di Mercurio, P.-E. Hladik Table des matières 1 Glossaire.........................................

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

SOLUTION DE BACKUP WINDOWS FBACKUP

SOLUTION DE BACKUP WINDOWS FBACKUP SOLUTION DE BACKUP WINDOWS FBACKUP CARACTÉRISTIQUE DE LA SOLUTION DE SAUVEGARDE FBACKUP MULTILINGUE USAGES PERSONNELS LOGICIEL GRATUIT USAGES PROFESSIONNELS MISE À JOUR AUTOMATIQUE SAUVEGARDE FICHIER MULTIPLES

Plus en détail

Python - introduction à la programmation et calcul scientifique

Python - introduction à la programmation et calcul scientifique Université de Strasbourg Environnements Informatique Python - introduction à la programmation et calcul scientifique Feuille de TP 1 Avant de commencer Le but de ce TP est de vous montrer les bases de

Plus en détail

Langage C/C++ TD 3-4 : Création dynamique d objets. Hubert Godfroy. 27 novembre 2014

Langage C/C++ TD 3-4 : Création dynamique d objets. Hubert Godfroy. 27 novembre 2014 Langage C/C++ TD 3-4 : Création dynamique d objets Hubert Godfroy 7 novembre 014 1 Tableaux Question 1 : Écrire une fonction prenant un paramètre n et créant un tableau de taille n (contenant des entiers).

Plus en détail

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Logiciel Libre Cours 3 Fondements: Génie Logiciel Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

Plus en détail

Utilisation simplifiée des objets automation

Utilisation simplifiée des objets automation Auteur : Michaël Moreno Web : http://michael.moreno.free.fr/ Niveau de programmation : Avancé Utilisation simplifiée des objets automation NB : La programmation des objets automation requiert un bon niveau

Plus en détail

Notes de Cours - Programmation 1 2011-2012. Pascal Ferraro

Notes de Cours - Programmation 1 2011-2012. Pascal Ferraro Notes de Cours - Programmation 1 2011-2012 Pascal Ferraro 18 septembre 2011 2 Table des matières 1 Introduction à la programmation en Langage C 9 1.1 Quelques Références.................................

Plus en détail

Google Documents permet d élaborer un questionnaire, de le diffuser sur le net pour ensuite le dépouiller.

Google Documents permet d élaborer un questionnaire, de le diffuser sur le net pour ensuite le dépouiller. Google Documents Google Documents permet d élaborer un questionnaire, de le diffuser sur le net pour ensuite le dépouiller. Phase préliminaire: Pensez à identifier le public que vous souhaitez cibler Pensez

Plus en détail

TP 1 Prise en main de l environnement Unix

TP 1 Prise en main de l environnement Unix Introduction aux systèmes d exploitation (IS1) TP 1 Prise en main de l environnement Unix Le but de ce premier TP est de commencer à vous familiariser avec l environnement Unix. 1 Ouverture de session

Plus en détail