Skip to content
GitLab
Explorer
Connexion
S'inscrire
Navigation principale
Rechercher ou aller à…
Projet
P
Projet_Q4_Groupe_O4
Gestion
Activité
Membres
Labels
Programmation
Tickets
Tableaux des tickets
Jalons
Wiki
Code
Requêtes de fusion
Dépôt
Branches
Validations
Étiquettes
Graphe du dépôt
Comparer les révisions
Extraits de code
Compilation
Pipelines
Jobs
Planifications de pipeline
Artéfacts
Déploiement
Releases
Registre de conteneur
Registre de modèles
Opération
Environnements
Surveillance
Incidents
Analyse
Données d'analyse des chaînes de valeur
Analyse des contributeurs
Données d'analyse CI/CD
Données d'analyse du dépôt
Expériences du modèle
Aide
Aide
Support
Documentation de GitLab
Comparer les forfaits GitLab
Forum de la communauté
Contribuer à GitLab
Donner votre avis
Conditions générales et politique de confidentialité
Raccourcis clavier
?
Extraits de code
Groupes
Projets
Afficher davantage de fils d'Ariane
lepl1503-2020-groupe-O4
Projet_Q4_Groupe_O4
Validations
8a2dc3b8
Valider
8a2dc3b8
rédigé
5 years ago
par
Arnaud Lefebvre
Parcourir les fichiers
Options
Téléchargements
Correctifs
Plain Diff
Upload New File
parent
a5c563c6
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Pipeline
#10329
réussi
5 years ago
Étape : external
Modifications
1
Pipelines
1
Masquer les modifications d'espaces
En ligne
Côte à côte
Affichage de
1 fichier modifié
Final Code/README.md
+65
-0
65 ajouts, 0 suppression
Final Code/README.md
avec
65 ajouts
et
0 suppression
Final Code/README.md
0 → 100644
+
65
−
0
Voir le fichier @
8a2dc3b8
# Projet_Q4_Groupe_O4
## Description des fichiers :
@fonctions.h
Un fichier header qui reprend les structures utilisées pour les listes chaînées ainsi que les nom
des fonctions utilisées dans fonctions.c
@fonctions.c
Un fichier avec l'implémentation des différentes fonctions décrites dans le fichier header.
Dans celui-ci, il y a les fonctions liées aux listes chaînées, une fonction pour trouver les
diviseurspremiers d'un nombre donné, une fonction comptant les listes d'un fichier et des fonctions
pour initialiser les 2 buffers.
@main.c
Le code source à compiler pour obtenir le programme
@test.c
Un fichier reprenant les tests unitaires de nos fonctions
@Makefile
Le fichier reprenant les commandes à executer pour lancer le code de façon plus agréable
## Lancer le code :
-
make fact : produit l'exécutable "fact"
-
make cpp / make cpp_xml : compile le programme et analyse ou donne le rapport d'analyse avec cppcheck
-
make val / make val_xml : compile le programme et analyse ou donne le rapport d'analyse avec valgrind
-
make test : compile le programme et exécute les test unitaires
-
make clean : nettoie le dossier et supprime les exécutables créés
-
./fact -N nthreads input.txt output.txt : lance le programme exécutable fact
*
nthreads : le nombre de threads du programme, un entier >= 1
*
input.txt : le nom du fichier input ayant des lignes d'entiers compris entre 2 et 2^(31)-1
*
output.txt : le nom du fichier output qui est créé si il n'existe pas encore
## Architecture du code :
Notre code est découpé en 3 parties :
1) Lecture (1 thread ) : lit les lignes du fichier input et en stock les entiers dans le buffer_1
2) Calcul (n threads) : prend les entiers du buffer_1, calcul la liste des diviseurs premiers de l'entier
et stock cette liste d'entiers dans le buffer_2
3) Ecriture (1 thread ) : prend les listes d'entiers du buffer_2 et les écrit dans le fichier output
Les 2 buffers sont protégés par 1 mutex et 2 sémaphores (free et full) chacun
## Bon fonctionnement :
Pour un bon fonctionnement du code, il faut respecter quelque règles :
1) Le fichier input doit être composé de lignes ne comportant que des entiers compris entre 2 et 2^(31)-1
avec un seul entier par ligne
2) Le nombre de thread(s) doit être précisé et doit être >= 1
3) Pour un bon fonctionnement de valgrind, il faut que le fichier "example_input.txt" soit dans le même dossier
que le Makefile
# Projet_Q4_Groupe_O4
\ No newline at end of file
Ce diff est replié.
Cliquez pour l'agrandir.
Aperçu
0%
Chargement en cours
Veuillez réessayer
ou
joindre un nouveau fichier
.
Annuler
You are about to add
0
people
to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Enregistrer le commentaire
Annuler
Veuillez vous
inscrire
ou vous
se connecter
pour commenter