CFREE
Section: Linux Programmer's Manual (3)
Updated: 2007-07-26
Index
JM Home Page
roff page
名前
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 を返す。
エラーの場合、
errno
が
EINVAL
に設定される:
ptr
の値が
malloc()
系のルーチンの 1 つで以前に割り当てられた
ブロックへのポインタでない。
準拠
SCO で用いられている引き数が 3 つの
cfree()
は、iBCSe2 規格:
Intel386 Binary Compatibility Specification, Edition 2
(Intel386 バイナリ互換仕様、第 2 版) に準拠する。
関連項目
malloc(3)
Index
- 名前
-
- 書式
-
- 説明
-
- 引き数が 1 つの cfree
-
- 引き数が 3 つの cfree
-
- 返り値
-
- 準拠
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 04:31:34 GMT, November 19, 2007