ИМЯ
cfree - освобождает выделенную памятьLIBRARY
Standard C library ( libc, -lc)СИНТАКСИС
#include <stdlib.h>
/* в SunOS 4 */ int cfree(void *ptr);
/* в glibc или FreeBSD libcompat */ void cfree(void *ptr);
/* In SCO OpenServer */ void cfree(char ptr[.size * .num], unsigned int num, unsigned int size);
/* In Solaris watchmalloc.so.1 */ void cfree(void ptr[.elsize * .nelem], size_t nelem, size_t elsize);
Требования
макроса
тестирования
свойств
для glibc (см.
feature_test_macros(7)):
cfree():
начиная с glibc 2.19: _DEFAULT_SOURCE в glibc 2.19 и старее: _BSD_SOURCE || _SVID_SOURCE
ОПИСАНИЕ
This function should never be used. Use free(3) instead. Starting with glibc 2.26, it has been removed from glibc.cfree с 1 аргументом
В glibc функция cfree() является синонимом free(3), которая "добавлена для совместимости с SunOS". В других системах есть другие функции с таким же именем. Объявление функции приводится иногда в <stdlib.h>, а иногда <malloc.h>.cfree с 3 аргументами
В некоторых версиях SCO и Solaris есть версии malloc с cfree() с тремя аргументами, по аналогии с calloc(3). Если она нужна вам при переносе чего-либо, добавьте#define cfree(p, n, s) free((p))
в свой файл. Часто задается вопрос: "Могу ли я использовать free(3) для освобождения памяти, выделенной с помощью calloc(3), или нужно использовать cfree()?" Ответ: используйте free(3). В руководстве SCO написано: "Функция cfree доступна для соответствия стандарту iBCSe2, она просто вызывает free. Аргументы num и size функцией cfree не используются".
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Версия cfree() из SunOS (которая является синонимом free(3)) возвращает 1 в случае успеха и 0 - в случае ошибки. В случае ошибки errno устанавливается в значение EINVAL: значение ptr не является указателем на блок, ранее выделенным с помощью одной из функций из семейства malloc(3).ВЕРСИИ
The cfree() function was removed in glibc 2.26.АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).Интерфейс | Атрибут | Значение |
cfree() | Безвредность в нитях | MT-Safe /* в glibc */ |
СТАНДАРТЫ
Версия cfree() с тремя аргументами, используемая в SCO, соответствует стандарту iBCSe2, Intel386 Binary Compatibility Specification, Edition 2.СМ. ТАКЖЕ
malloc(3)ПЕРЕВОД
Русский перевод этой страницы руководства был сделан Azamat Hackimov <[email protected]>, Dmitriy S. Seregin <[email protected]>, Dmitry Bolkhovskikh <[email protected]>, Katrin Kutepova <[email protected]>, Yuri Kozlov <[email protected]> и Иван Павлов <[email protected]> Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на [email protected]5 февраля 2023 г. | Linux man-pages 6.03 |