Whole document tree 17. glibLa glib fournit de nombreuses fonctions et définitions utiles, prêtes à être utilisées lorsqu'on crée des applications GDK et GTK. Je les énumèrerais toutes avec une brève explication. Beaucoup sont des répliques des fonctions standards de la libc, et je ne les détaillerais donc pas trop. Ceci doit surtout servir de référence afin de savoir ce qui est disponible pour être utilisé.
17.1 DéfinitionsLes définitions pour les bornes de la plupart des types standards sont :
Voici aussi les redéfinitions de types. Celles qui ne sont pas spécifiées sont configurées dynamiquement selon l'architecture. Évitez surtout de compter sur la taille d'un pointeur si vous voulez un programme portable ! Un pointeur sur un Alpha fait 8 octets, mais il en fait 4 sur un Intel.
17.2 Listes doublement chaînéesLes fonctions suivantes servent à créer, gérer et détruire des listes doublement chaînées. Je suppose que vous savez ce qu'est une liste chaînée car leur explication n'entre pas dans le cadre de ce document. Bien sûr, il n'y a pas besoin de les connaître pour une utilisation générale de GTK, mais c'est bien de savoir comment elles fonctionnent.
17.3 Listes simplement chaînéesLa plupart des fonctions pour les listes simplement chaînées ci-dessous sont identiques à celles vues plus haut. Voici une liste complète :
17.4 Gestion de la mémoire
Remplace malloc(). On n'a pas besoin de vérifier la valeur de retour car cela est fait pour nous dans cette fonction.
Identique à la précédente, mais initialise la mémoire à zéro avant de retourner un pointeur vers la zone réservée.
Réalloue size octets de mémoire à partir de mem. Évidemment, la mémoire doit avoir été allouée auparavant.
Libère la mémoire. Facile.
Produit un profil de la mémoire utilisée, mais requiert l'ajout de #define MEM_PROFILE au début de glib/gmem.c, de refaire un make et un make install.
Vérifie qu'un emplacement mémoire est valide. Nécessite que l'on ajoute #define MEM_CHECK au début de gmem.c que l'on refasse un make et un make install.
17.5 TimersFonctions des timers...
17.6 Gestion des chaînesUn ensemble complet de fonction de gestion des chaînes. Elles semblent toutes très intéressantes et sont sûrement meilleures, à bien des égards, que les fonctions C standards, mais elle nécessitent de la documentation.
17.7 Utilitaires et fonctions d'erreurs
Remplace la fonction strdup. Elle copie le contenu de la chaîne d'origine dans la mémoire venant d'être allouée et retourne un pointeur sur cette zone.
Je recommande de l'utiliser pour tous les messages d'erreur. Elle est beaucoup plus propre et plus portable que perror() ou les autres. La sortie est habituellement de la forme :
Voici un exemple d'appel utilisé dans le programme « Bonjour tout le monde ! » :
Affiche un message d'erreur. Le format est comme printf, mais il ajoute « ** ERROR **: » au début du message et sort du programme. À n'utiliser que pour les erreurs fatales.
Comme au dessus, mais ajoute « ** WARNING **: », et ne termine pas le programme.
Affiche « message: » avant la chaîne passée en paramètre.
Remplace printf(). Enfin la dernière fonction :
Affiche le nom du signal système Unix correspondant au numéro de signal. Utile pour les fonctions génériques de gestion de signaux. Tout ce qui est ci-dessus est plus ou moins volé à glib.h. Si quelqu'un s'occupe de documenter une fonction, qu'il m'envoit un courrier !
Page suivante Page précédente Table des matières |