Quelques fonctions réutilisables - Utilisation d'OpenSources

Manipulation des jpeg

Pour manipuler les fichiers jpeg, le plus simple et le plus portable est d'utiliser la libjpeg 6b http://www.ijg.org/.

Cette librairie commence à dater (1998), mais cela n'enlève rien à sa qualité et de nombreux softs s'appuient dessus. La documentation contenue dans le package jpeg6b est très claire

Utilisations :

Manipulation des fichiers png

On utilise la libpng et la zlib (http://www.libpng.org/pub/png/libpng.html et http://www.gzip.org/zlib/)

Voir aussi comment convertir des png en bmp : http://http://cetus.sakura.ne.jp/softlab/b2p-home/

Manipulation des fichiers gzip

Il faut utiliser la zlib (http://www.zlib.org/)

L'exemple ci-dessous montre comment décompresser des données gzip à la volée.

ungzip.c, ungzip.h

Manipulation des fichiers zip

Il faut aussi utiliser la zlib (http://www.zlib.org/).

L'utilisation des routines de Gilles Vollant simplifie beaucoup le travail : (http://www.winimage.com/zLibDll/) :

Compression bz2

Un algorithme de compression très performant qui a peut être l'inconvénient d'être plus lent que la zlib.

Les exemples ci-dessous montrent comment compresser et décompresser des données bz2 à la volée.

Home page de la librairie bz2/

Manipulation des fichiers son avec fmod

L'API fmod permet de jouer des fichiers sons de n'importe quel format. Le site officiel http://www.fmod.org/ permet de télécharger l'API (sans les sources), celle-ci étant portable et gratuite pour une utilisation non commerciale.

testfmod.c

Manipulations des sockets

Ces routines encapsulent les appels aux sockets. Elle sont intéressantes lorsque les fonctionnalités recherchées sont simples et peuvent se contenter du mode bloquant.

Utilisation de fichiers mappés en mémoire

Voir cfilemap.cpp et cfilemap.h

Utilisation de mémoire partagée

Voir memshare.c et memshare.h

Utilisation de sémaphores

Voir semaphore.c et semaphore.h

Les regex

Les regex permettent de comparer des chaines de caractères contenant des métacaractères (*, . etc...).Pour les utiliser correctement, le mieux est de se référer au man d'Unix ou bien sur le site http://arglist.com/regex/ et de consulter l'aide. Le programme joint montre comment les utiliser :

expat, le parseur XML de référence

Ce parseur est omniprésent dans les opensources. Voir le site ici http://expat.sourceforge.net/.

Le principe est simple : Il suffit de définir des callbacks qui sont appelés chaque fois qu'un tag est rencontré.

Voir testexpat.c

Tri des tableaux avec qsort()

Quick Sort est un algorithme très performant pour trier les tableaux. L'exemple suivant montre comment trier un tableau d'entiers.

testqsort.c

Valid XHTML 1.0!