CFREE

Section : Manuel du programmeur Linux (3)
Mise à jour de la version anglaise : 26 juillet 2007
Index Menu principal  

NOM

cfree - Libérer la mémoire allouée  

SYNOPSIS


#include <stdlib.h>

/* Dans SunOS 4 */
int cfree(void *ptr);

/* Dans glibc ou FreeBSD libcompat */
void cfree(void *ptr);

/* Dans SCO OpenServer */
void cfree(char *ptr, unsigned num, unsigned size);

/* Dans Solaris watchmalloc.so.1 */
void cfree(void *ptr, size_t nelem, size_t elsize);

Exigences de macros de test de fonctionnalités pour la glibc (voir feature_test_macros(7)) :

cfree() : _BSD_SOURCE || _SVID_SOURCE  

DESCRIPTION

Cette fonction ne devrait jamais être utilisée. Utilisez free(3) à la place.  

cfree avec un argument

Dans la glibc, la fonction cfree() est un synonyme de free(3), « ajoutée pour être compatible avec SunOS ».

D'autres systèmes ont d'autres fonctions de même nom. La déclaration se trouve parfois dans <stdlib.h> et parfois dans <malloc.h>.  

cfree avec trois arguments

Certaines versions de SCO et de Solaris ont des bibliothèques malloc avec une fonction cfree() à trois arguments, apparemment comme une analogie à calloc(3).

Si vous en avez besoin et que vous faites un portage, ajoutez

#define cfree(p, n, s) free((p))

dans votre fichier

Une question fréquemment posée est : « Puis-je utiliser free(3) pour libérer de la mémoire allouée avec calloc(3), ou bien dois-je utiliser cfree() ? » La réponse est : utilisez free(3).

Un manuel SCO dit : « La routine cfree() est fournie pour être conforme à la norme iBCSe2 et faciliter les appels free(3). Les arguments num et size de cfree() ne sont pas utilisés. »  

VALEUR RENVOYÉE

La version SunOS de cfree() (qui est un synonyme de free(3)) renvoie 1 si elle réussit et 0 si elle échoue. En cas d'erreur, errno est renseignée avec EINVAL : la valeur de ptr n'était pas un pointeur vers un bloc précédemment alloué par l'une des routines de la famille malloc(3).  

CONFORMITÉ

La version à trois arguments de cfree() est utilisée par SCO pour être conforme à la norme iBCSe2 : « Intel386 Binary Compatibility Specification, Edition 2 ».  

VOIR AUSSI

malloc(3)  

TRADUCTION

Ce document est une traduction réalisée par Alain Portal <aportal AT univ-montp2 DOT fr> le 20 juillet 2005 et révisée le 17 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 cfree ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.

 

Index

NOM
SYNOPSIS
DESCRIPTION
cfree avec un argument
cfree avec trois arguments
VALEUR RENVOYÉE
CONFORMITÉ
VOIR AUSSI
TRADUCTION

Dernière mise à jour : 17 juillet 2008