#include <stdlib.h> /* SunOS 4 では */ int cfree(void *ptr); /* glibc と FreeBSD libcompat では */ void cfree(void *ptr); /* SCO OpenServer では */ void cfree(char *ptr, unsigned num, unsigned size); /* Solaris watchmalloc.so.1 では */ void cfree(void *ptr, size_t nelem, size_t elsize);
glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):
cfree():
Since glibc 2.19:
_DEFAULT_SOURCE
Glibc 2.19 and earlier:
_BSD_SOURCE || _SVID_SOURCE
他のシステムでは、この名前の別の関数がある。 この宣言は <stdlib.h> に存在する場合もあるし、 <malloc.h> に存在する場合もある。
何かを移植する時にこの関数が必要な場合、
#define cfree(p, n, s) free((p))
をファイルに追加すること。
よく尋ねられる質問は 「calloc(3) で割り当てられたメモリーを解放するのに free(3) を使うことができるか、 それとも cfree() を使う必要があるか」というものである。 答え: free(3) を使うこと。
SCO のマニュアルには以下のように記述されている: 「cfree ルーチンは iBCSe2 規格に従うために提供されており、 単に free を呼んでいるだけである。 cfree の num と size 引数は使用されない。」
インターフェース | 属性 | 値 |
cfree() | Thread safety | MT-Safe /* glibc では */ |
[man1]
[man2]
[man3]
[man4]
[man5]
[man6]
[man7]
[man8]
[a]
[b]
[c]
[d]
[e]
[f]
[g]
[h]
[i]
[j]
[k]
[l]
[m]
[n]
[o]
[p]
[q]
[r]
[s]
[t]
[u]
[v]
[w]
[x]
[y]
[z]