7 nov. 2011

[PC2R (STL)] Travailler avec les FairThread chez soi

Pour ceux qui aimeraient compiler les programmes C utilisant la librairie FairThread, je vous présente une archive que j'ai "modifiée" pour faciliter l'installation de la librairie chez soi.

1) Téléchargez l'archive contenant la librairie et mes modifications
2) Décompressez la, et entrez dans le dossier libft


cd dossier_ou_jai_telechargé_larchive/
unzip libft_stephane.zip
cd libft



3) Lancez le script que j'ai écris, compiler_librairie_fthread.sh

./compiler_librairie_fthread.sh


Le script compilera la librairie, et vous proposera de l'installer sur votre Linux. Si vous acceptez, votre mot de passe vous sera demandé pour le faire. Rentrez le et validez.

Si l'installation s'est correctement passée, vous pouvez désormais écrire vos programmes FairThreads comme vos autres programmes C, sans ajouter des arguments complexes à gcc ;-) .

Exemple.

#include <stdio.h>
#include <unistd.h>
#include <fthread.h>
#include <stdlib.h>

void fonctionThread(void* arg)
{
   printf("Hello Fair Thread\n");
}


int main()
{
 /** Création d'un scheduler                 */
 ft_scheduler_t sched = ft_scheduler_create();
 /** Création d'un fair thread */
 ft_thread_create(sched, fonctionThread, NULL, NULL);
 /** Lancement ;-) */
 ft_scheduler_start(sched);
 ft_exit();

}



Compilation de vos fichiers, si vous avez installé avec mon script.

gcc fichier.c -o fichier -lpthread -lfthread





Remarque:
Si vous avez refusé d'installer sur votre système, vous devrez compiler votre programme C avec ces commandes :
LIBRAIRIE=./libft/lib/ft_v1.1
INC=./libft/include/ft_v1.1
gcc fichier.c -o fichier -lpthread -lfthread -L $LIBRAIRIE -I $INC

Sachant que les variables LIBRAIRIE et INC contiennent les chemins d'accès aux répertoires de librairie et d'entêtes *.h de FairThread. Dans cet exemple, j'ai supposé que vous étiez dans le répertoire contenant libft ( ./libft/... ). Vous pouvez aussi indiquer le chemin absolu dans les variables LIBRAIRIE et INC.

Aucun commentaire:

Enregistrer un commentaire