Provided by: manpages-ja-dev_0.5.0.0.20161015+dfsg-1_all bug

名前

       cfree - 割り当てられたメモリーを解放する

書式

       #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(): _BSD_SOURCE || _SVID_SOURCE

説明

       この関数は決して使用すべきではない。 代わりに free(3)  を使うこと。

   引き数が 1 つの cfree
       glibc  では、関数  cfree()   は  free(3)  の別名であり、「SunOS との互換性のために追加され
       た」。

       他のシステムでは、この名前の別の関数がある。  この宣言は  <stdlib.h>  に存在する場合もある
       し、 <malloc.h> に存在する場合もある。

   引き数が 3 つの cfree
       SCO  と Solaris のいくつかのバージョンでは、 引き数が 3 つの cfree()  が含まれる malloc ラ
       イブラリがある。 これは明らかに calloc(3)  に類似している。

       何かを移植する時にこの関数が必要な場合、

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

       をファイルに追加すること。

       よく尋ねられる質問は 「calloc(3)  で割り当てられたメモリーを解放するのに free(3)  を使うこ
       とができるか、  それとも cfree()  を使う必要があるか」というものである。 答え: free(3)  を
       使うこと。

       SCO のマニュアルには以下のように記述されている: 「cfree ルーチンは iBCSe2 規格に従うために
       提供されており、  単に free を呼んでいるだけである。 cfree の num と size 引き数は使用され
       ない。」

返り値

       SunOS 版の cfree()  (free(3)  の別名) は、成功した場合に 1 を返し、失敗した場合に  0  を返
       す。 エラーの場合、 errnoEINVAL に設定される: ptr の値が malloc()  系のルーチンの 1 つ
       で以前に割り当てられた ブロックへのポインターでない。

準拠

       SCO  で用いられている引き数が  3  つの   cfree()    は、iBCSe2   規格:   Intel386   Binary
       Compatibility Specification, Edition 2 (Intel386 バイナリ互換仕様、第 2 版) に準拠する。

関連項目

       malloc(3)

この文書について

       この  man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクト
       の説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。

                                            2007-07-26                                   CFREE(3)