.\" -*- coding: UTF-8 -*- .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl) .\" .\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. .\" .\" The GNU General Public License's references to "object code" .\" and "executables" are to be interpreted as the output of any .\" document formatting or typesetting system, including .\" intermediate and printed output. .\" .\" This manual is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public .\" License along with this manual; if not, see .\" . .\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH CFREE 3 "15 сентября 2017 г." "" "Руководство программиста Linux" .SH ИМЯ cfree \- освобождает выделенную память .SH СИНТАКСИС .nf .PP \fB#include \fP .PP /* в SunOS 4 */ \fBint cfree(void *\fP\fIptr\fP\fB);\fP .PP /* в glibc или FreeBSD libcompat */ \fBvoid cfree(void *\fP\fIptr\fP\fB);\fP .PP /* в SCO OpenServer */ \fBvoid cfree(char *\fP\fIptr\fP\fB, unsigned \fP\fInum\fP\fB, unsigned \fP\fIsize\fP\fB);\fP .PP /* в Solaris watchmalloc.so.1 */ \fBvoid cfree(void *\fP\fIptr\fP\fB, size_t \fP\fInelem\fP\fB, size_t \fP\fIelsize\fP\fB);\fP .fi .PP .RS -4 Требования макроса тестирования свойств для glibc (см. \fBfeature_test_macros\fP(7)): .RE .PP \fBcfree\fP(): начиная с glibc 2.19: _DEFAULT_SOURCE в glibc 2.19 и старее: _BSD_SOURCE || _SVID_SOURCE .SH ОПИСАНИЕ Эту функцию использовать нельзя. Используйте вместо неё \fBfree\fP(3). Начиная с версии 2.26, она удалена из glibc. .SS "cfree с 1 аргументом" В glibc функция \fBcfree\fP() является синонимом \fBfree\fP(3), которая "добавлена для совместимости с SunOS". .PP В других системах есть другие функции с таким же именем. Объявление функции приводится иногда в \fI\fP, а иногда \fI\fP. .SS "cfree с 3 аргументами" В некоторых версиях SCO и Solaris есть версии malloc с \fBcfree\fP() с тремя аргументами, по аналогии с \fBcalloc\fP(3). .PP Если она нужна вам при переносе чего\-либо, добавьте .PP .in +4n .EX #define cfree(p, n, s) free((p)) .EE .in .PP в свой файл. .PP Часто задается вопрос: "Могу ли я использовать \fBfree\fP(3) для освобождения памяти, выделенной с помощью \fBcalloc\fP(3), или нужно использовать \fBcfree\fP()?" Ответ: используйте \fBfree\fP(3). .PP В руководстве SCO написано: "Функция cfree доступна для соответствия стандарту iBCSe2, она просто вызывает free. Аргументы num и size функцией cfree не используются". .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" Версия \fBcfree\fP() из SunOS (которая является синонимом \fBfree\fP(3)) возвращает 1 в случае успеха и 0 \- в случае ошибки. В случае ошибки \fIerrno\fP устанавливается в значение \fBEINVAL\fP: значение \fIptr\fP не является указателем на блок, ранее выделенным с помощью одной из функций из семейства \fBmalloc\fP(3). .SH ВЕРСИИ .\" commit 025b33ae84bb8f15b2748a1d8605dca453fce112 Функция \fBcfree\fP() была удалена из glibc версии 2.26. .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lb lb lb l l l. Интерфейс Атрибут Значение T{ \fBcfree\fP() T} Безвредность в нитях MT\-Safe /* в glibc */ .TE .SH "СООТВЕТСТВИЕ СТАНДАРТАМ" Версия \fBcfree\fP() с тремя аргументами, используемая в SCO, соответствует стандарту iBCSe2, Intel386 Binary Compatibility Specification, Edition 2. .SH "СМ. ТАКЖЕ" \fBmalloc\fP(3) .SH ЗАМЕЧАНИЯ Эта страница является частью проекта Linux \fIman\-pages\fP версии 5.10. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу \%https://www.kernel.org/doc/man\-pages/. .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Azamat Hackimov , Dmitriy S. Seregin , Dmitry Bolkhovskikh , Katrin Kutepova , Yuri Kozlov и Иван Павлов . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .