Provided by: manpages-ja-dev_0.5.0.0.20221215+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():
           Since glibc 2.19:
               _DEFAULT_SOURCE
           Glibc 2.19 and earlier:
               _BSD_SOURCE || _SVID_SOURCE

説明

       この関数は決して使用すべきではない。  代わりに  free(3)   を使うこと。  glibc  2.26 以降で
       は、この関数は glibc から削除されている。

   引数が 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 つ
       で以前に割り当てられた ブロックへのポインターでない。

バージョン

       cfree() 関数は、バージョン 2.26 で glibc から削除された。

属性

       この節で使用されている用語の説明については、 attributes(7) を参照。

       ┌─────────────────┬───────────────┬──────────────────────────┐
       │インターフェース属性                       │
       ├─────────────────┼───────────────┼──────────────────────────┤
       │cfree()          │ Thread safety │ MT-Safe /* glibc では */ │
       └─────────────────┴───────────────┴──────────────────────────┘

準拠

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

関連項目

       malloc(3)

この文書について

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

                                            2017-09-15                                   CFREE(3)