Patrick Reuter maître de conférences

Slides:



Advertisements
Présentations similaires
Votre logo à insérer ici
Advertisements

La programmation orientée objet avec Java L3-MIAGE Plan
Formation universitaire à .NET: Introduction à C#
Master Professionnelle Sciences et Techniques 2 juillet
Algorithmes et structures de données avancées 6ème cours Patrick Reuter
Conception de Site Webs dynamiques Cours 6
Algorithmes et structures de données avancées 5ème cours Patrick Reuter
Algorithmes et structures de données 7ème cours
Algorithmes et structures de données avancés
Patrick Reuter maître de conférences
DTD Sylvain Salvati
Algorithmes et structures de données Cours 10 Patrick Reuter
Algorithmes et structures de données Cours 1 Patrick Reuter
Algorithmes et structures de données 4ème cours
Algorithmes et structures de données 5ème cours
C++ 6ème cours Patrick Reuter maître de conférences
Module 6 : Gestion et analyse du système DNS
C.
Outils de développements
La fonction Style Permet de créer des types de texte, par exemple
12 novembre 2012 Grégory Petit
LOGOS_w Imagerie La palette des icônes. Le groupe dicônes situé au dessus des images du patient permet dintervenir sur limage affichée et active.
Langage C Licence Informatique 3ème année
Définition : C'est un format de données qui permet de réaliser des sommaires Un « flux RSS » est un fichier texte qui contient les titres des derniers.
Enregistrement d’un document
Active Directory Windows 2003 Server
Principes de programmation (suite)
Nous allons vous présenter: - Photoshop - Algorithme et programmation
Applications Internet – cours 3 La page web
Titre de votre session Prénom NOM Fonction ORGANISME Votre logo
Java Remote Method Invocation (RMI)
Démo I : INF3135 Construction et maintenance de logiciels Groupe : 10
Des outils pour le développement logiciel
Module 6 : Gestion du stockage des données
CONSTRUCTION MECANIQUE DECOUVERTE de SOLIDWORKS
Réaliser un photomontage simple sur GIMP
Formation Python Modules (d'après "Learning Python", de Mark Lutz)
Introduction Création d'un projet Ajout de fichiers Compilation Exécution Utiliser le débogueur Département dinformatique et de génie logiciel Développer.
Développer en C avec Eclipse Introduction Création d'un projet Ajout de fichiers Compilation Exécution Utiliser le débogueur Département dinformatique.
Projet de C – Matrices creuses
Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.
Module 2 : Préparation de l'analyse des performances du serveur
Module 3 : Création d'un domaine Windows 2000
Convertir un fichier en format .pdf
Make 1 Les besoins 2 Définition 3 Makefile 4 Optimisation 5 Exemple de Makefile 6 Prototype 7 Autres outils © BTS II 2002 [tv]
TD4 2 IMACS Romaric GUILLERM Algo-Prog en Ada.
Algo-Prog en Ada TD1 2 MIC Romaric GUILLERM
Inclusions & dépendances. C compile texte > objet int main () …
La notion de type revisitée en POO
Elabore par BELKADHI ABIR BEN HASSEN SALMA CHEBBI MARWA
Argc et argv Utilisation des paramètres de la ligne de commande.
Créer des packages.
1 F o r m a t i o n A R S FTP anonyme, Archie 2 F o r m a t i o n A R S FTP ANONYMOUS m Premier service d'accès à des documents publics. m Repose très.
 Objet window, la fenêtre du navigateur
Master 1 ère année Sécurité des Systèmes Informatique 1 Gestion de modules  Un module est un morceau de code qui peut être chargé à la volée dans le noyau.
Cliquez pour modifier le style du titre
Ouvrez le menu principal
SMIL Synchronized Multimedia Integration Language
Module 3 : Création d'un domaine Windows 2000
SCAN400 , envoi mail des résultats JDSEE, JDFIELD
LOGOS_w Imagerie Les photos et images numérisées.
Initiation au JavaScript
En route vers le déploiement . . .
S. Domas Système d’Exploitation Make et la construction d’exécutables 1ère annéeIUT Belfort-Montbéliard.
Lancement de Microsoft Word 1. Cliquer avec le bouton droit de la souris sur le raccourci de « Microsoft Office Word 2003 » sur le bureau, 2. Dans le menu.
Microsoft Project UNIVERSITÉ HASSAN II – Mohammedia.
Présentation de Qt Iris 1
Exemple d’utilisation de l’outil de profilage prof La commande prof de Unix.
DEFINIR LES DIMENSIONS ET LA GÉOMÉTRIE D’UN PRODUIT
Principes de programmation (suite)
Transcription de la présentation:

Patrick Reuter maître de conférences http://www.labri.fr/~preuter/c++ C++ 7ème cours Patrick Reuter maître de conférences http://www.labri.fr/~preuter/c++

Aujourd’hui Compilation Makefile

Jusqu’à présent Crée un fichier exécutable td4 g++ main.cpp Image.cpp Pixel.cpp Vector3d.cpp -o td4 Crée un fichier exécutable td4 Désavantage : Chaque fichier .cpp est recompilé à chaque fois

Compilation séparé Fichiers objet Fichier éxécutable Fichiers source main.cpp g++ main.cpp –c main.o main.o g++ Image.cpp –c Image.o Image.cpp Image.o td4 g++ Pixel.cpp –c Pixel.o Pixel.cpp Pixel.o g++ main.o Image.o Pixel.o Vector3d.o –o td4 Vector3d.cpp g++ Vector3d.cpp –c Vector3d.o Vector3d.o Préprocesseur et compilation Edition des liens

Makefile target: dep1 dep2 command Si le fichier dep1 est plus récent que le fichier target, ou si celui-ci n'existe pas, regénérer le target en exécutant command". Si aucune commande n'est fournie, une règle par défaut est utilisée. target peut être un fichier à générer, ou le nom d'une tâche qu'on veut automatiser. On définit ainsi souvent une tâche clean dont le but n'est pas de créer un fichier de ce nom, mais bien de nettoyer le répertoire courant de ses fichiers inutiles (un exemple est donné dans la section suivante). Autre target spécifique, all : il est exécuté lorsqu'aucun paramètre n'est passé à make. Attention à make : l'espacement en début de seconde ligne, avant la commande, est en fait une tabulation !

Makefile # Makefile minimaliste all: td4 td4: main.o Image.o Pixel.o Vector3d.o g++ main.o Image.o Pixel.o Vector3d.o -o td4 main.o: main.cpp g++ main.cpp –c Image.o: Image.cpp g++ Image.cpp –c Pixel.o: Pixel.cpp g++ Pixel.cpp –c Vector3d.o: Vector3d.cpp g++ Vector3d.cpp –c clean: rm -f td4 main.o Image.o Pixel.o Vector3d.o

Intersection Rayon Sphere Sphere center : (cx, cy, cz) Sphere radius :r Rayon position : (px, py, pz) Rayon direction : (dx, dy, dz) Sphere : (x – cx )2 + (y - cy )2 + (z - cz )2 = r2 Rayon : x(t) = px + t * dx y(t) = py + t * dy z(t) = pz + t * dz

Intersection Rayon Sphere Sphere center : (cx, cy, cz) Sphere radius :r Rayon position : (px, py, pz) Rayon direction : (dx, dy, dz) Sphere : ( x – cx )2 + (y - cy )2 + (z - cz )2 = r2 Rayon : x(t) = px + t * dx y(t) = py + t * dy z(t) = pz + t * dz

Intersection Rayon Sphere Sphere center : (cx, cy, cz) Sphere radius :r Rayon position : (px, py, pz) Rayon direction : (dx, dy, dz) Sphere : (x – cx )2 + (y - cy )2 + (z - cz )2 = r2 Rayon : x(t) = px + t * dx y(t) = py + t * dy z(t) = pz + t * dz Par insertion : (px + t * dx - cx)2 + (py + t * dy - cy)2 + (pz + t * dz - cz)2 = r2 < = > t2 ( dx2 + dy2 + dz2 ) + t ( 2 ( dz (pz – cz) + dz (pz – cz) + dz (pz – cz) ) ) + (px – cx)2 + (py – cy)2 + (pz – cz)2 Ou bien a*t2 + b*t + c = 0 avec : a = ( dx2 + dy2 + dz2 ) b = ( 2 ( dx (px – cx) + dy (py – cy) + dz (pz – cz) ) ) c = (px – cx)2 + (py – cy)2 + (pz – cz)2

Intersection Rayon Sphere Sphere center : (cx, cy, cz) Sphere radius :r Rayon position : (px, py, pz) Rayon direction : (dx, dy, dz) Sphere : (x – cx )2 + (y - cy )2 + (z - cz )2 = r2 Rayon : x(t) = px + t * dx y(t) = py + t * dy z(t) = pz + t * dz Par insertion : (px + t * dx - cx)2 + (py + t * dy - cy)2 + (pz + t * dz - cz)2 = r2 < = > t2 ( dx2 + dy2 + dz2 ) + t ( 2 ( dz (pz – cz) + dz (pz – cz) + dz (pz – cz) ) ) + (px – cx)2 + (py – cy)2 + (pz – cz)2 Ou bien a*t2 + b*t + c = 0 avec : a = ( dx2 + dy2 + dz2 ) b = ( 2 ( dx (px – cx) + dy (py – cy) + dz (pz – cz) ) ) c = (px – cx)2 + (py – cy)2 + (pz – cz)2 – r2 Si la direction est normaliséea = 1 t0 = (- b + sqrt(b^2 - 4*c)) / 2 t1 = (- b - sqrt(b^2 - 4*c)) / 2