plucky (3) cfree.3.gz

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)