Chaine de compilation. Compilateur Warnings Compilation séparée Précompilateur Makefile Edition de liens et librairies

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

Download "Chaine de compilation. Compilateur Warnings Compilation séparée Précompilateur Makefile Edition de liens et librairies"

Transcription

1 Chaine de compilation Compilateur Warnings Compilation séparée Précompilateur Makefile Edition de liens et librairies 000

2 Chaine de compilation Code (C) (=langage humain) Compilateur Fichier executable (=binaire) (Windows:.exe Linux: nom quelconque) 001

3 Compilateur gcc GNU Compiler Collection (C, C++,Obj-C,Fortran,Ada,Go) Le + répendu sous Linux D'autres existent: Nwcc Clang Quick C (Microsoft) Turbo C (Embarcadero) XL C (IBM) Note: Compilateur C++ compatibles BorlandC++ Intel C++ Compiler Visual Studio Turbo C++ ProDev Solaris Studio 002

4 Compilateur Remarque: Ne pas confondre IDE et Compilateur éditer du texte/code Emacs QtCreator MS Visual C++ Dev C++ Eclipse Code::Blocks Anjuta KDevelop génère le binaire ceci n'est pas un compilateur! 003

5 En pratique Compilateur mon_fichier.c mon_executable Puis $./mon_executable 004

6 Compilateur: Paramètres de GCC gcc possède des paramètres: - Warnings - Debug - Optimisation - Chemins d'acces - Lien avec librairies - Constantes -... beaucoup d'options! 005

7 Chaine de compilation Compilateur Warnings Compilation séparée Précompilateur Makefile Edition de liens et librairies 006

8 Ex: Warning Compilateur sans option de Warning avec option de Warning en francais: compilation.c, ligne 17. Warning 'a' est utilisé sans être initialisé dans cette fonction. Warning = Aide pour le programmeur = Lisible pour le programmeur = Evite les erreurs "silentieuses" 007

9 Warnings typiques: Sans warnings $ gcc mon_fichier.c compile Fonctionne? =0; 008

10 Warnings typiques: pas de retour adresse temporaire depassement tableau toujours vrai: boucle infinie =0; Ajout de warnings $ gcc mon_fichier.c -Wall -Wextra 009

11 Warnings : Bonnes pratiques!! Notion Essentielle!! IMPORTANT A Savoir Toujours activer un maximum de Warnings conteneurs de multiples warnings -Wall -Wextra Indispensable!! => Toujours compiler avec $gcc -Wall -Wextra D'autres Warnings très utiles: (non compris dans -Wall ni -Wextra) -Wfloat-equal -Wshadow -Wswitch-default -Wswitch-enum -Wwrite-strings -Wpointer-arith -Wcast-qual -Wredundant-decls -Winit-self 010

12 Warnings : Bonnes pratiques Toujours activer un maximum de Warnings Ne jamais se priver du travail du compilateur! Si après analyse des Warnings inutiles gachent la lisibilité (ex. unused variables) annule ce Warning spécifique Option: -Wno-<nom_warning> ex. -Wall -Wextra -Wno-unused-variable 011

13 Warnings : Bonnes pratiques gcc -Wall -Wextra -Wfloat-equal -Wshadow -Wswitch-default -Wswitch-enum -Wwrite-strings -Wpointer-arith -Wcast-qual -Wredundant-decls -Winit-self Trop long à écrire? 1 unique fois dans un fichier utilisez les scripts ex. script = lignes de commandes écrites dans un fichier executées les unes derrières les autres <nom_script>.sh 012

14 Script pour compiler En pratique: 1. créez le fichier: 2. y inscrire: mon_script.sh dans le même repertoire que: mon_programme.c 3. rendez le fichier executable: $ chmod +x mon_script.sh 4. lancez le: $./mon_script.sh 013

15 En pratique: Script pour compiler Avec l'ensemble des paramètre de compilation: déclaration d'une variable (+ lisible) utilisation d'une variable Note: En anglais: options de compilation = flags options de compilation du compilateur C = Cflags version générique: 014

16 Options de debug!! Notion Essentielle!! IMPORTANT A Savoir -g Toujours compiler avec l'option de Debug lors du developpement Permet l'utilisation des debuggers (gdb,kdbg,ddd,valgrind,...) Pour résumer, CFLAGS minimales à toujours utiliser: -Wall -Wextra -g 015

17 Chaine de compilation Compilateur Warnings Compilation séparée Précompilateur Makefile Edition de liens et librairies 016

18 Compilation séparée 1 Fichier: fichier.c gcc -Wall -Wextra -g fichier.c -o executable executable 2 Fichiers:?? executable f2.c exec1 exec2 017

19 Cas de 2 fichiers Un executable => 1 point d'entrée (int main()) Cas 1: f2.c $ gcc -Wall -Wextra -g -o executable_1 $ gcc -Wall -Wextra -g f2.c -o executable_2 2 créations d'executables distincts $./executable_1 > Je suis executable_1 executable_2 $./executable_2 > Je suis f2.c 018

20 Cas de 2 fichiers Cas 2: f2.h f2.c f2 ne contient pas de fonction: int main() => pas d'executable associé à f2 uniquement! f2 agit en tant que "librairie" pour le code appelé dans f1 019

21 Cas de 2 fichiers: compilation séparée Cas 2: f2.h Principe: On compile tout ce qu'on peut de f1 => cad: tout sauf la fonction de f2 (adresse à définir) f2.c On compile tout ce qu'on peut de f2 => cad: tout f2.c f1.o On rassemble les 2 binaires + complète l'adresse de fonction + f1.o f2.o executable 020

22 Cas de 2 fichiers: compilation séparée Cas 2, ligne de commande: gcc -c -Wall -Wextra -g -o f1.o Compilation de Option -c gcc -c -Wall -Wextra -g f2.c -o f2.o Compilation de f2.c f2.c f2.o Option -c Edition de liens, génération d'executable gcc f1.o f2.o -o executable + f1.o f2.o executable 021

23 Fichier objet f1.o gcc -c -Wall -Wextra -g -o f1.o Option -c indique: génère un binaire du code ne génère pas d'executable s'arrête avant l'étape d'édition de lien fichier objet = fichier binaire fichier non executable peut contenir des liens vers des fonctions externes 022

24 Fichier objet Pour visualiser un fichier binaire ex. Ouvrir le fichier avec xemacs ou emacs $ xemacs fichier.o Appuyez sur Alt+X: cherchez hexl-mode ou $ od -x fichier.o 023

25 Plusieurs sources, un executable pgm.c gcc -c pgm.c pgm.o gcc -c gcc pgm.o f1.o f2.o f3.o -o executable f1.h f1.o f2.c f2.h gcc -c f2.c f2.o une fois que tous les.o sont créés executable gcc -c f3.c f3.c f3.h f3.o pas d'ordre (en //) 024

26 Plusieurs sources, un executable: script pgm.c gcc -c pgm.c pgm.o gcc -c gcc pgm.o f1.o f2.o f3.o -o executable f1.h f1.o f2.c f2.h gcc -c f2.c f2.o une fois que tous les.o sont créés executable gcc -c f3.c f3.c f3.h f3.o pas d'ordre (en //) mon_script_de_compilation.sh 025

27 Construction d'un fichier objet f1.o?#include? assembleur? (C) (C) (assembleur) (binaire) f1.s f1.o préprocesseur compilation assembleur 026

28 Fichier assembleur gcc -S f1.s f1.o Option -S 027

29 Chaine de compilation Compilateur Warnings Compilation séparée Précompilateur Makefile Edition de liens et librairies 028

30 Precompilateur gcc -E > f1.s f1.o Option -E Precompilateur = Convertion du code C en un autre code C (plus simple à compiler) 029

31 Precompilateur gcc -E > f1.s f1.o Elimine tous les commentaires => inutile pour générer de l'assembleur gcc -E > Conclusion: Ecrivez vos commentaires pour les humains, pas pour la machine! 030

32 Precompilateur gcc -E > Remplace toute les Macros #define f1.s f1.o!! Notion Essentielle!! IMPORTANT A Savoir gcc -E > Conclusion: Centralisez vos constantes (tailles tableaux) dans des macros. 031

33 Precompilateur gcc -E > Remplace toute les Macros #define f1.s Attention: Les macros sont directement copiés collés! => Pas de points-virgules (;)! A Savoir!! Notion Essentielle!! IMPORTANT f1.o gcc -E > Conclusion: Pas de points-virgules dans les macros!. 032

34 Precompilateur gcc -E > Remplace toute les Macros #define f1.s f1.o Les macros peuvent être des fonctions! gcc -E > 033

35 Precompilateur gcc -E > Remplace toute les Macros #define Les macros peuvent être des fonctions! Attention au principe du copié-collé des macros!!! f1.s f1.o gcc -E > 034

36 Precompilateur gcc -E > Remplace toute les Macros #define Les macros peuvent être des fonctions! Attention au principe du copié-collé des macros!!! f1.s f1.o gcc -E >!! Notion Essentielle!! IMPORTANT => Autour de chaque variable/expression: ajoutez des parenthèses A Savoir 035

37 Precompilateur!! Notion avancée!! Avancée Difficile gcc -E > Remplace toute les Macros #define f1.s f1.o Les macros peuvent être des fonctions avancées! gcc -E > 036

38 Precompilateur!! Notion avancée!! Avancée Difficile gcc -E > Nouveau language? + f1.s f1.o gcc -E > 037

39 Precompilateur gcc -E > Synthèse Macros:!! Notion Essentielle!! IMPORTANT A Savoir f1.s f1.o Avantage: Pas de types Inconvénients: Difficile à écrire Difficile à debugger Cas non prévues Macro = Attention! Ne pas abuser des macros Règles: Ne pas utiliser une macro si une fonction peut le faire! Ne pas utiliser de macro si il y a ambiguité Ne pas utiliser de macro si le code est moins lisible 038

40 Precompilateur gcc -E > Quelques macros utiles f1.s f1.o LINE, FUNCTION, FILE, DATE 039

41 Precompilateur gcc -E > f1.s f1.o Quelques macros utiles: exemple d'utilisation executable gcc -E > gcc -g -Wall -Wextra -o executable Rem. FUNCTION n'est pas une vraie macro, mais une variable liée à gcc 040

42 Precompilateur gcc -E > Quelques macros utiles: exemple d'utilisation f1.s f1.o Utile pour messages d'erreurs! 041

43 Precompilateur gcc -E > f1.s f1.o Cas d'exemple complet: debug avancé!! Notion avancée!! Avancée Difficile 042

44 Precompilateur gcc -E > f1.s f1.o Cas d'exemple complet: debug avancé!! Notion avancée!! Avancée Difficile 043

45 Precompilateur gcc -E > f1.s f1.o Cas d'exemple complet: debug avancé!! Notion avancée!! Avancée Difficile Debug simple on sait d'où viens l'erreur Affichage: Erreur (norme nulle pour k=4): ligne 27, fonction [normalise_tableau_de_vecteur], fichier [compilation.c] 044

46 Precompilateur gcc -E > f1.s f1.o Instructions contionnelles du precompilateur #if <condition> <...> #endif //si condition est vraie #if <condition> <...> #else <...> #endif //si condition est vraie //sinon #if <condition> <...> #elif <conditon 2> <...> #else <...> #endif //si condition est vraie //sinon, si condition 2 est vraie //sinon #ifdef <variable> <...> #endif //si variable definie #ifndef <variable> <...> #endif //si variable non definie!! Notion Essentielle!! IMPORTANT A Savoir 045

47 Precompilateur!! Notion Essentielle!! IMPORTANT A Savoir gcc -E > f1.s f1.o Exemple: gcc -E > 046

48 Precompilateur!! Notion Essentielle!! IMPORTANT A Savoir gcc -E > Exemple: f1.s f1.o gcc -E > f2.c f2.i gcc -E f2.c > f2.i 047

49 Precompilateur gcc -E > Exemple: f1.s f1.o gcc -E > 048

50 Precompilateur gcc -E > Utilisation des conditionnelles+macro: f1.s f1.o Pour la portabilitée entre systèmes Pour le debug!! Notion Essentielle!! IMPORTANT A Savoir Attention: Ne pas utiliser pour l'optimisation Réduit la lisibilité du code. Si faisable avec une fonction: utiliser une fonction 049

51 Precompilateur gcc -E > f1.s Macro: #include "fichier" Copie-colle le contenu d'un fichier mon_fichier!! Notion Essentielle!! IMPORTANT A Savoir f1.o execution: bonjour 36 gcc -E > 050

52 Precompilateur gcc -E > En-tête standards f1.s f1.o!! Notion Essentielle!! IMPORTANT A Savoir... gcc -E >

53 Precompilateur gcc -E > En-tête standards f1.s f1.o... gcc -E >... Note: #include "NOM" #include <NOM> recherche fichier dans le repertoire locale recherche fichier dans les repertoires systèmes (/usr/include/ ; /usr/local/include/ ;...)!! Notion Essentielle!! IMPORTANT A Savoir Pour inclure d'autres chemins: gcc -I<CHEMIN> 052

54 Precompilateur gcc -E > En-tête standards f1.s f1.o... gcc -E >... Note: Les fichiers d'en tête standards sont volumineux => N'inclure que ceux qui sont nécessaire Les variables des fichiers standards commencent par _ ou => Ne pas utiliser cette convention pour vos variables 053

55 Precompilateur gcc -E > Inclusion multiples: include guard f1.s f1.o voiture.h voiture.c trajet.h trajet.c main.c 054

56 Precompilateur gcc -E > Inclusion multiples: include guard f1.s f1.o voiture.h voiture.c!! Notion Essentielle!! IMPORTANT A Savoir trajet.h trajet.c main.i main.c inclusion de voiture.h inclusion de trajet.h gcc -E main.c > main.i gcc -c main.c -Wall -Wextra -g 055

57 Precompilateur gcc -E > Inclusion multiples: include guard f1.s f1.o voiture.h voiture.c trajet.h trajet.c main.c voiture.h trajet.h inclue voiture.h main.c inclue voiture.h inclue trajet.h 056

58 Precompilateur gcc -E > Inclusion multiples: include guard f1.s f1.o voiture.h voiture.c trajet.h main.c trajet.c Solution 1: N'inclure que trajet.h dans main.c => Ingérable pour un grand projet Solution 2: Compilateur n'inclue pas voiture.h deux fois => Principe des includes guards voiture.h trajet.h inclue voiture.h main.c inclue voiture.h inclue trajet.h 057

59 Precompilateur gcc -E > Inclusion multiples: include guard f1.s f1.o voiture.h une unique inclusion voiture.c!! Notion Essentielle!! IMPORTANT A Savoir trajet.c trajet.h main.c 058

60 Precompilateur gcc -E > Inclusion multiples: include guard f1.s f1.o voiture.h voiture.c trajet.c main.i trajet.h main.c gcc -E main.c > main.i 059

61 Precompilateur gcc -E > Inclusion multiples: include guard f1.s f1.o Bonne pratique: Pour tout fichier d'en-tête de nom: NOM.h Placez un include guard #ifndef NOM_H #define NOM_H... #endif Autres possibilitées: #ifndef INCLUDE_GUARD_NOM_H #ifndef NOM But: Nom éviter les collisions Attention: Evitez les macros commencant par _ #ifndef _NOM_H 060

62 Precompilateur Exemple réel: fichier unistd.h

63 Precompilateur!! Notion Essentielle!! IMPORTANT A Savoir Synthèse précompilateur Potentiellement puissant (va au dela du langage C) A utiliser avec précaution => rend rapidement le code peu standard = peu lisible Bonne pratique: N'utilisez que les règles standards: * include guard * #ifdef => portabilité, debug. * pas d'optimisation, préférez les fonctions aux macros 062

64 Chaine de compilation Compilateur Warnings Compilation séparée Précompilateur Makefile Edition de liens et librairies 063

65 Makefile make: Outil d'automatisation de taches Dépendance => Action à réaliser Note: Makefile est indépendant de gcc! Makefile 064

66 Makefile!! Notion Essentielle!! IMPORTANT A Savoir Exemple de Makefile L'appel à: $ make génère: partie_1.txt partie_2.txt mon_rapport.txt 065

67 Makefile!! Notion Essentielle!! IMPORTANT A Savoir Exemple de Makefile pour compiler du C variable Avantage par rapport à un script: Ne compile que si necessaire 066

68 Makefile Exemple de Makefile pour compiler du C fichiers assembleurs pas de commandes d'executions L'appel à $ make assembleur génère les fichiers: f1.s, f2.s, f3.s 067

69 Chaine de compilation Compilateur Warnings Compilation séparée Précompilateur Makefile Edition de liens et librairies 068

70 Edition de liens et librairies pgm.c gcc -c pgm.c pgm.o gcc -c gcc pgm.o f1.o f2.o f3.o -o executable f1.h f1.o f2.c f2.h gcc -c f2.c f2.o une fois que tous les.o sont créés executable gcc -c f3.c f3.c f3.h f3.o pas d'ordre (en //) implémentation des librairies externes (ex: math, io, posix,...) 069

71 Edition de liens et librairies math.h /usr/include/math.h $ gcc -c -o f1.o -Wall -Wextra -g > OK $ gcc f1.o -o mon_executable f1.o: In function `main': :(.text+0x1a): undefined reference to `cos' collect2: error: ld returned 1 exit status Edition de lien échoue Ne trouve pas l'implémentation de cos 070

72 Edition de liens et librairies math.h libm.a /usr/include/math.h /usr/lib/m.a contient l'équivalent de math.o $ gcc -c -o f1.o -Wall -Wextra -g > OK se lier à libm $ gcc f1.o -o mon_executable -lm > OK 071

73 Edition de liens et librairies Librairie statique: lib<nom>.a équivalent à f1.o f2.o f4.o f3.o archive de fichiers objets Lors de l'édition de liens: gcc fichier.o -l<nom> équivalent à gcc fichier.o f1.o f2.o f3.o f4.o => Inclusion des binaires dans l'executable finale 072

74 Exemple de librairie: librairie vecteur: Edition de liens et librairies v3.h v3.c programme utilisant la librairie: main.c 073

75 Edition de liens et librairies Exemple de librairie: librairie vecteur: v3.h v3.c programme utilisant la librairie: main.c 1. Création de la librairie: $ gcc -c v3.c -o v3.o -g -Wall -Wextra v3.h v3.c v3.o Une unique fois libv3.a $ ar -rv libv3.a v3.o 2. Utilisation de la librairie: v3.h #include $ gcc -c main.c -o main.o -g -Wall -Wextra $ gcc main.o -lv3 main.c main.o executable 074

76 Edition de liens et librairies Librairies dynamiques: lib<nom>.so Sont chargées dynamiquement à chaque execution creation de la lib dynamique: une unique fois $ gcc -shared code source librairie lib<nom>.so $ gcc -c main.c $ gcc main.o -L. -l<nom> -o executable main.c main.o executable 075

77 Edition de liens et librairies Librairies dynamiques: lib<nom>.so Sont chargées dynamiquement à chaque execution Lors de l'execution: $./executable lib<nom>.so viens lire et charger le contenu de la lib executable 076

78 Edition de liens et librairies Librairies dynamiques: lib<nom>.so Sont chargées dynamiquement à chaque execution Remarques: 1. Si la lib change => l'executable change de comportement Sans avoir à être recompilée!! Notion Essentielle!! IMPORTANT A Savoir (update, MAJ, comportement,...) 2. Si la lib disparait/est corrompu/n'est pas trouvée => l'executable ne peut pas être lancé 077

79 Edition de liens et librairies Exemple concret de librairies dynamiques: librairie vecteur: v3.h v3.c libv3.so programme utilisant la librairie: main.c 1. Création de la librairie: $ gcc v3.c -fpic -o v3.o -g -Wall -Wextra $ gcc -shared v3.o -o libv3.so v3.h v3.c v3.o Une unique fois libv3.so 2. Compilation et link avec la lib v3.h #include $ gcc -c main.c -o main.o -g -Wall -Wextra $ gcc main.o -lv3 -L. main.c main.o executable 078

80 Edition de liens et librairies!! Notion Essentielle!! IMPORTANT A Savoir Exemple concret de librairies dynamiques: librairie vecteur: v3.h v3.c libv3.so programme utilisant la librairie: main.c Utilisation de la librairie: executable Par défaut: viens chercher la lib dans /usr/lib/ repertoires déjà enregistrés ajout du repertoire local (.) $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. $./executable repertoire courant 079

81 Edition de liens et librairies Exemple: version_1 version_2 complex.h complex.c complex.h complex.c complex.o libcomplex.so complex.o libcomplex.so $ gcc -c complex.c -g -Wall -Wextra -fpic -o complex.o $ gcc -c complex.c -g -Wall -Wextra -fpic -o complex.o $ gcc -shared complex.o -o libcomplex.so $ gcc -shared complex.o -o libcomplex.so 080

82 Edition de liens et librairies Exemple: version_1 version_2 cp complex.h complex.c complex.h complex.c workspace complex.o libcomplex.so complex.o libcomplex.so mon_programme.c complex.h 081

83 Edition de liens et librairies Exemple: version_1 version_2 complex.h complex.h complex.c complex.c workspace cp complex.o libcomplex.so complex.o libcomplex.so complex.h libcomplex.so mon_programme.c mon_programme.o mon_executable $ gcc -c mon_programme.c -g -Wall -Wextra $ gcc mon_programme.o -L. -lcomplex -o mon_executable 082

84 Edition de liens et librairies Exemple: version_1 version_2 workspace complex.h complex.c complex.h complex.c complex.h mon_programme.c libcomplex.so mon_programme.o mon_executable complex.o complex.o libcomplex.so libcomplex.so $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. $./mon_executable 083

85 Edition de liens et librairies Exemple: version_1 version_2 workspace complex.h complex.c complex.h complex.c complex.h mon_programme.c libcomplex.so mon_programme.o mon_executable complex.o complex.o libcomplex.so libcomplex.so $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. cp (erase version_1) $./mon_executable (principe du patch logiciel) 084

86 Edition de liens et librairies Exemple: version_1 version_2 workspace complex.h complex.c complex.h complex.c mon_programme.c complex.o complex.o libcomplex.so libcomplex.so Si on ne veut pas copier/déplacer de fichiers:!! Notion Essentielle!! IMPORTANT A Savoir $ gcc -c mon_programme.c -I version_1/ -g -Wall -Wextra mon_programme.o $ gcc mon_programme.o -L version_1/ -l complex -o executable executable $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:version_1/ $./executable 085

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

Quelques éléments de compilation en C et makefiles

Quelques éléments de compilation en C et makefiles 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

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

Systeme d'exploitation

Systeme d'exploitation Introduction au dévellopement de Methodes Natives Partie I : appelle de methodes C++ sous windows Auteur: Frank Sauvage. 1 \ introduction aux methodes natives : Les methodes natives sont des methodes devellopées

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

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

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

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Introduction aux EDI, la plateforme Eclipse Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

Plus en détail

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30 Examen intra 20 février 2014 17:30 à 20:30 Nom, prénom : Code permanent : Répondez directement sur le questionnaire. Question #1 5% Quelle influence peut avoir le typage dynamique sur la maintenabilité

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

Chaîne de production d un programme

Chaîne de production d un programme 227 Plan 1. Généralités : compilateur, assembleur, éditeur de liens compilation séparée directives #include, espace d adressage d un programme 2. l'outil make cible, dépendance fichier Makefile de base

Plus en détail

I. Introduction aux fonctions : les fonctions standards

I. Introduction aux fonctions : les fonctions standards Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons

Plus en détail

Tutoriel code::blocks

Tutoriel code::blocks Tutoriel code::blocks E. Lunéville 2006 Le logiciel code::blocks fait partie des logiciels de type EDI (Environnement de Développement Intégré, IDE en anglais) pour le langage C++. Il est multiplateforme

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

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

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

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

Cours Informatique Master STEP

Cours Informatique Master STEP Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server Suite à mon précédent article concernant MSDE, je me suis rendu compte à partir des commentaires que de nombreux utilisateurs avaient des problèmes

Plus en détail

Programmation C++ (débutant)/instructions for, while et do...while

Programmation C++ (débutant)/instructions for, while et do...while Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de

Plus en détail

Outils pour les réseaux de neurones et contenu du CD-Rom

Outils pour les réseaux de neurones et contenu du CD-Rom Outils pour les réseaux de neurones et contenu du CD-Rom Depuis le développement théorique des réseaux de neurones à la fin des années 1980-1990, plusieurs outils ont été mis à la disposition des utilisateurs.

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

Java Licence professionnelle CISII, 2009-2010

Java Licence professionnelle CISII, 2009-2010 Java Licence professionnelle CISII, 2009-2010 Cours 6 : le paquetage (package) Cours inspiré des cours de Richard Grin, Antoine Tabbone et Hazel Everett 1 Définition - Les classes Java sont regroupées

Plus en détail

Installation LTE-SIM. Simulation du réseau 4G (LTE-SIM) en vue d optimiser les ressources spectrales de l opérateur.

Installation LTE-SIM. Simulation du réseau 4G (LTE-SIM) en vue d optimiser les ressources spectrales de l opérateur. Installation LTE-SIM Simulation du réseau 4G (LTE-SIM) en vue d optimiser les ressources spectrales de l opérateur. Réalisé par : ALICHE Sonia LO Mame Diarra SAADE Zakaria SALL Dame SOHTSINDA Herman Commanditaire:

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

Plan global Outils de développement et compilation. Plan. Objectifs des outils présentés. IDE, GCC/Clang, ASAN, perf, valgrind, GDB.

Plan global Outils de développement et compilation. Plan. Objectifs des outils présentés. IDE, GCC/Clang, ASAN, perf, valgrind, GDB. global Outils de développement et compilation IDE, GCC/Clang, ASAN, perf, valgrind, GDB Timothée Ravier LIFO, INSA-CVL, LIPN 1 re année cycle ingénieur STI 2013 2014 1 / 36 Objectifs des outils présentés

Plus en détail

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn 1 Organisation Projet de développement Introduction à Eclipse Philippe Collet Licence 3 Informatique Cours 1 : principes généraux - svn Cours 2 : Redmine et gestion de projet Cours 3 : Introduction à Eclipse

Plus en détail

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5 1. Introduction... 2 2. Création d'une macro autonome... 2 3. Exécuter la macro pas à pas... 5 4. Modifier une macro... 5 5. Création d'une macro associée à un formulaire... 6 6. Exécuter des actions en

Plus en détail

1. Structure d'un programme FORTRAN 95

1. Structure d'un programme FORTRAN 95 FORTRAN se caractérise par la nécessité de compiler les scripts, c'est à dire transformer du texte en binaire.(transforme un fichier de texte en.f95 en un executable (non lisible par un éditeur) en.exe.)

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

É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

Reproductibilité des expériences de l article "Analyse et réduction du chemin critique dans l exécution d une application"

Reproductibilité des expériences de l article Analyse et réduction du chemin critique dans l exécution d une application Reproductibilité des expériences de l article "Analyse et réduction du chemin critique dans l exécution d une application" Katarzyna Porada and David Parello and Bernard Goossens Univ. Perpignan Via Domitia,

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

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

IBM SPSS Statistics Version 22. Instructions d'installation sous Windows (licence nominative)

IBM SPSS Statistics Version 22. Instructions d'installation sous Windows (licence nominative) IBM SPSS Statistics Version 22 Instructions d'installation sous Windows (licence nominative) Table des matières Instructions d'installation....... 1 Configuration requise........... 1 Code d'autorisation...........

Plus en détail

Projet de développement

Projet de développement Projet de développement Introduction à Eclipse Philippe Collet Licence 3 MIAGE S6 2012-2013 http://miageprojet2.unice.fr/index.php?title=user:philippecollet/projet_de_développement_2012-2013 Plan r Application

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

CA Desktop Migration Manager

CA Desktop Migration Manager CA Desktop Migration Manager Manuel de configuration du déploiement DMM Service Pack 12.8.01 La présente Documentation, qui inclut des systèmes d'aide et du matériel distribués électroniquement (ci-après

Plus en détail

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12 GTK+ GLADE Page 1 sur 12 SOMMAIRE INTRO 3 Présentation de GTK+ 3 Présentation de GLADE 3 GTK+ 4 Installation 4 Les Widgets 4 Le système de hiérarchie 5 Les signaux 6 GLADE 7 Installation 7 L interface

Plus en détail

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N

Plus en détail

REALISATION d'un. ORDONNANCEUR à ECHEANCES

REALISATION d'un. ORDONNANCEUR à ECHEANCES REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6

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

Titre: Version: Dernière modification: Auteur: Statut: Licence:

Titre: Version: Dernière modification: Auteur: Statut: Licence: Titre: Mise en œuvre de mod_webobjects Version: 2.0 Dernière modification: 2010/09/06 20:00 Auteur: Aurélien Minet Statut: version finale Licence: Creative Commons

Plus en détail

Programmation en langage C

Programmation en langage C Programmation en langage C Anne CANTEAUT INRIA - projet CODES B.P. 105 78153 Le Chesnay Cedex Anne.Canteaut@inria.fr http://www-rocq.inria.fr/codes/anne.canteaut/cours C 2 Table des matières 3 Table des

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

Symantec Backup Exec 12.5 for Windows Servers. Guide d'installation rapide

Symantec Backup Exec 12.5 for Windows Servers. Guide d'installation rapide Symantec Backup Exec 12.5 for Windows Servers Guide d'installation rapide 13897290 Installation de Backup Exec Ce document traite des sujets suivants: Configuration requise Conditions préalables à l'installation

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

Algorithmique & Langage C IUT GEII S1. Notes de cours (première partie) cours_algo_lgc1.17.odp. Licence

Algorithmique & Langage C IUT GEII S1. Notes de cours (première partie) cours_algo_lgc1.17.odp. Licence Licence Algorithmique & Langage C Paternité - Pas d'utilisation Commerciale Partage des Conditions Initiales à l'identique 2.0 France Vous êtes libres : * de reproduire, distribuer et communiquer cette

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

Stockage du fichier dans une table mysql:

Stockage du fichier dans une table mysql: Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table

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

Introduction à l algorithmique et à la programmation M1102 CM n 3

Introduction à l algorithmique et à la programmation M1102 CM n 3 Introduction à l algorithmique et à la programmation M1102 CM n 3 DUT Informatique 1 re année Eric REMY eric.remy@univ-amu.fr IUT d Aix-Marseille, site d Arles Version du 2 octobre 2013 E. Remy (IUT d

Plus en détail

Application 1- VBA : Test de comportements d'investissements

Application 1- VBA : Test de comportements d'investissements Application 1- VBA : Test de comportements d'investissements Notions mobilisées Chapitres 1 à 5 du cours - Exemple de récupération de cours en ligne 1ère approche des objets (feuilles et classeurs). Corps

Plus en détail

1 TD 2 : Construction d'une chier Acrobat et envoi par email

1 TD 2 : Construction d'une chier Acrobat et envoi par email 1 TD 2 : Construction d'une chier Acrobat et envoi par email (correction page??) Un professeur de maths a instauré une coutume lors de la dernière séance de la semaine. Le vendredi est consacré à la correction

Plus en détail

TP Bases de données réparties

TP Bases de données réparties page 1 TP Bases de données réparties requêtes réparties Version corrigée Auteur : Hubert Naacke, révision 5 mars 2003 Mots-clés: bases de données réparties, fragmentation, schéma de placement, lien, jointure

Plus en détail

Construction de logiciel et packaging

Construction de logiciel et packaging Construction de logiciel et packaging Matthieu Herrb Ecole IDL2011, La Londes Les Maures, 5 au 9 décembre 2011 http://homepages.laas.fr/matthieu/idl2011/ Licence Ce document est sous licence Creative Commons

Plus en détail

Serveur Acronis Backup & Recovery 10 pour Linux. Update 5. Guide d'installation

Serveur Acronis Backup & Recovery 10 pour Linux. Update 5. Guide d'installation Serveur Acronis Backup & Recovery 10 pour Linux Update 5 Guide d'installation Table des matières 1 Avant l'installation...3 1.1 Composants d'acronis Backup & Recovery 10... 3 1.1.1 Agent pour Linux...

Plus en détail

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page

Plus en détail

Addenda du Guide de l administrateur

Addenda du Guide de l administrateur Addenda du Guide de l administrateur Cet Addenda contient les ajouts et les modifications apportées au texte du Guide de l'administrateur VERITAS Backup Exec for Windows Servers. Les informations contenues

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

Guide de formation avec cas pratiques. Programmation. Philippe Moreau Patrick Morié. Daniel-Jean David

Guide de formation avec cas pratiques. Programmation. Philippe Moreau Patrick Morié. Daniel-Jean David Guide de formation avec cas pratiques Excel 2007 Programmation Avancé VBA Guide de formation avec cas pratiques Philippe Moreau Patrick Morié Daniel-Jean David Tsoft et Groupe Eyrolles, 2009, ISBN : 978-2-212-12446-0

Plus en détail

Dans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers.

Dans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers. I Présentation : Dans le chapitre 1, nous avons vu comment utiliser les appels-systèmes de bas niveau pour créer et accéder à des fichiers sur le disque. Nous avons notamment mis en évidence leur dépouillement

Plus en détail

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts E3FI ESIEE Paris Systèmes et scripts B. Perret TP : Shell Scripts 1 Remarque générale Lorsque vous cherchez des informations sur Internet, n'oubliez pas que langage de shell script que nous avons vu correspond

Plus en détail

Informatique I. Sciences et Technologies du Vivant (Semestre 1)

Informatique I. Sciences et Technologies du Vivant (Semestre 1) Informatique I Sciences et Technologies du Vivant (Semestre 1) Vincent Lepetit vincent.lepetit@epfl.ch http://cvlabwww.epfl.ch/~lepetit/courses/sv https://www.coursera.org/course/intro-cpp-fr 1 Cours 1

Plus en détail

Notions fondamentales du langage C# Version 1.0

Notions fondamentales du langage C# Version 1.0 Notions fondamentales du langage C# Version 1.0 Z 2 [Notions fondamentales du langage Csharp] [Date : 25/03/09] Sommaire 1 Tout ce qu il faut savoir pour bien commencer... 3 1.1 Qu est ce qu un langage

Plus en détail

Chap III : Les tableaux

Chap III : Les tableaux Chap III : Les tableaux Dans cette partie, on va étudier quelques structures de données de base tels que : Les tableaux (vecteur et matrice) Les chaînes de caractères LA STRUCTURE DE TABLEAU Introduction

Plus en détail

Hadoop / Big Data. Benjamin Renaut <renaut.benjamin@tokidev.fr> MBDS 2014-2015

Hadoop / Big Data. Benjamin Renaut <renaut.benjamin@tokidev.fr> MBDS 2014-2015 Hadoop / Big Data Benjamin Renaut MBDS 2014-2015 TP 3 TP noté Méthodologie Map/Reduce - programmation Hadoop - Sqoop Préparation du TP 1 Importer la machine virtuelle.ova du

Plus en détail

«Vous éditez, nous archivons!»

«Vous éditez, nous archivons!» LE LOGICIEL D'ARCHIVAGE ET DE CONSULTATION DE VOS DOCUMENTS DE GESTION (Graphiques et caractères) alliant PUISSANCE DES OUTILS INTERNET & SIMPLICITE D'UTILISATION «Vous éditez, nous archivons!» LOGISUD

Plus en détail

Hadoop / Big Data. Benjamin Renaut <renaut.benjamin@tokidev.fr> MBDS 2014-2015

Hadoop / Big Data. Benjamin Renaut <renaut.benjamin@tokidev.fr> MBDS 2014-2015 Hadoop / Big Data Benjamin Renaut MBDS 2014-2015 TP 1 Méthodologie Map/Reduce - programmation Hadoop. 1 Installer VirtualBox (https://www.virtualbox.org/). Importer la machine

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

MRTG & RRD Tool. Multi Router Traffic Grapher

MRTG & RRD Tool. Multi Router Traffic Grapher MRTG & RRD Tool Multi Router Traffic Grapher Plan Principe Historique Principes Généraux Utilisation Installation et configuration Installation Configuration Architecture RRD Tool Étude de cas Historique

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

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

Procédure de sauvegarde - Cobian Backup 11 2012

Procédure de sauvegarde - Cobian Backup 11 2012 Sommaire Utilitaires requis... 2 Procédure d installation du logiciel Cobian Backup 11... 2 Procédure de paramétrage du logiciel Cobian Backup 11... 6 Code et plan de test de validation... 13 1 1. Utilitaires

Plus en détail

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire

Plus en détail

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Haute Ecole d Ingénierie et de Gestion Du Canton du Vaud MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Programmation en mode simulation 1. DOCUMENTS DE RÉFÉRENCE...

Plus en détail

A.P.I. Kuka Manuel de l utilisateur Version 0.0.5

A.P.I. Kuka Manuel de l utilisateur Version 0.0.5 A.P.I. Kuka Manuel de l utilisateur Version 0.0.5 Paul Chavent Kubrick 8 septembre 2003 1 kuka api 0.0.5 : Manuel de l utilisateur Table des matières 1 Utilisation sur le robot (serveur) 3 1.1 Installation............................................

Plus en détail

Compression de Données - Algorithme de Huffman Document de Conception

Compression de Données - Algorithme de Huffman Document de Conception ROLLET Samuel SALLE Jennifer Compression de Données - Algorithme de Huffman Document de Conception Projet d'algorithmique et Structure des Données 1 SOMMAIRE 1. Domaine d application....4 1.1 Objectifs

Plus en détail

Télécom Nancy Année 2013-2014

Télécom Nancy Année 2013-2014 Télécom Nancy Année 2013-2014 Rapport 1A Ajout du langage C dans la Programmer's Learning Machine GIANNINI Valentin Loria 615, rue du Jardin Botanique 54600, Villers-Lès-Nancy Maître de stage : QUINSON

Plus en détail

Les chaînes de caractères

Les chaînes de caractères Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il

Plus en détail

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume Studio HERITIER Emmanuelle PERSYN Elodie SCHMUTZ Amandine SCHWEITZER Guillaume Cours R Présentation projet 10/10/2013 Introduction RStudio est une interface créé par JJ Allaire Elle est sortie le 11 Février

Plus en détail

Mysql. Les requêtes préparées Prepared statements

Mysql. Les requêtes préparées Prepared statements Mysql Les requêtes préparées Prepared statements Introduction Les prepared statements côté serveur sont une des nouvelles fonctionnalités les plus intéressantes de MySQL 4.1 (récemment sorti en production

Plus en détail

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre Partie I : Introduction Plan de la première partie Quelques définitions Caractéristiques communes des applications temps-réel Exemples d

Plus en détail

Le prototype de la fonction main()

Le prototype de la fonction main() Le prototype de la fonction main() 1. Introduction...1 2. Paramètres et type de retour de la fonction main()...1 3. Exemple 1...2 4. La fonction exit() du C...2 5. Détecter le code de retour d un programme

Plus en détail

Testez votre installation. Créer un répertoire vide

Testez votre installation. Créer un répertoire vide http://www.gnu.org/software/dejagnu/ Exposé sur DejaGNU Sommaire Présentation 1 Comment l obtenir.. 1 Comment obtenir la documentation 1 Comment çà marche 1 Remarque 5 Présentation DejaGnu est un système

Plus en détail

Chapitre 2 Devine mon nombre!

Chapitre 2 Devine mon nombre! Python 3 : objectif jeux Chapitre 2 Chapitre 2 Devine mon nombre! 2.1. Thèmes abordés dans ce chapitre commentaires modules externes, import variables boucle while condition : if... elif... else la fonction

Plus en détail

Projet Administration Réseaux

Projet Administration Réseaux EL KHATIT Zouhair, L3 ASR N : 20072486 Projet Administration Réseaux Thème : SFTP & SCPOnly I- SFTP (Secure File Transfer Protocol) : Introduction: Le SFTP permet de transférer des fichiers par une connexion

Plus en détail

Alfresco Guide Utilisateur

Alfresco Guide Utilisateur Alfresco Guide Utilisateur ATELIER TECHNIQUE DES ESPACES NATURELS - 1 Table des matières Alfresco Guide Utilisateur...1 Accéder à la GED de l'aten...3 Via un client FTP...3 Onglet Général...3 Onglet Avancé...3

Plus en détail

Solutions du chapitre 4

Solutions du chapitre 4 Solutions du chapitre 4 Structures de contrôle: première partie 4.9 Identifiez et corrigez les erreurs (il peut y en avoir plus d une par segment de code) de chacune des proposition suivantes: a) if (

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

Chapitre I Notions de base et outils de travail

Chapitre I Notions de base et outils de travail Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement

Plus en détail

TP, première séquence d exercices.

TP, première séquence d exercices. TP, première séquence d exercices. Benoît Valiron benoit.valiron@lipn.univ-paris13.fr 7 novembre 2010 Introduction Vous écrirez les réponses aux questions courtes sur une feuille à rendre à la fin de la

Plus en détail

Comment créer et utiliser une fonction

Comment créer et utiliser une fonction Comment créer et utiliser une fonction Henry P. AUBERT Jacques GOUPY Si, dans une cellule d'une feuille Excel, l on utilise souvent la même formule mathématique, il est possible d en faire une fonction

Plus en détail

3IS - Système d'exploitation linux - Programmation système

3IS - Système d'exploitation linux - Programmation système 3IS - Système d'exploitation linux - Programmation système 2010 David Picard Contributions de : Arnaud Revel, Mickaël Maillard picard@ensea.fr Environnement Les programmes peuvent être exécutés dans des

Plus en détail