.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (c) 2012 by Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH malloc_get_state 3 "2 мая 2024 г." "Linux man\-pages 6.8" .SH ИМЯ malloc_get_state, malloc_set_state \- сохраняют и восстанавливают состояние в реализации malloc .SH LIBRARY Standard C library (\fIlibc\fP, \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP .P \fBvoid *malloc_get_state(void);\fP \fBint malloc_set_state(void *\fP\fIstate\fP\fB);\fP .fi .SH ОПИСАНИЕ \fINote\fP: these functions are removed in glibc 2.25. .P Функция \fBmalloc_get_state\fP() записывает текущее состояние всех внутренних служебных переменных \fBmalloc\fP(3) (но не фактическое содержимое кучи или состояние указателей функций \fBmalloc_hook\fP(3)). Состояние сохраняется в системно\-зависимой структуре данных с закрытым форматом, динамически выделенной через \fBmalloc\fP(3), и указатель на эту структуру данных возвращается как результат функции (вызывающий является ответственным за вызов \fBfree\fP(3) для этой памяти). .P Функция \fBmalloc_set_state\fP() восстанавливает значения состояния внутренних служебных переменных \fBmalloc\fP(3) из сохранённой структуры закрытого формата, на которую указывает \fIstate\fP. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" При успешном выполнении \fBmalloc_get_state\fP() возвращает указатель на только что выделенную структуру с закрытым форматом. При ошибке (например, если не получилось выделить память под структуру) \fBmalloc_get_state\fP() возвращает NULL. .P .\" if(ms->magic != MALLOC_STATE_MAGIC) return -1; .\" /* Must fail if the major version is too high. */ .\" if((ms->version & ~0xffl) > (MALLOC_STATE_VERSION & ~0xffl)) return -2; При успешном выполнении \fBmalloc_set_state\fP() возвращается 0. Если реализация обнаруживает, что \fIstate\fP не указывает на корректную структуру с данными, то \fBmalloc_set_state\fP() возвращает \-1. Если реализация обнаруживает, что версия структуры данных, на которую ссылается \fIstate\fP, новее чем известно реализации, то \fBmalloc_set_state\fP() возвращает \-2. .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Интерфейс Атрибут Значение T{ .na .nh \fBmalloc_get_state\fP(), \fBmalloc_set_state\fP() T} Безвредность в нитях MT\-Safe .TE .SH СТАНДАРТЫ GNU. .SH ПРИМЕЧАНИЯ Эти функции полезны при использовании реализации \fBmalloc\fP(3) в виде общей библиотеки, а содержимое кучи сохраняется/восстанавливается каким\-то другим способом. Это используется в GNU Emacs для реализации своей функции «выгрузки». .P .\" i.e., calls __malloc_check_init() .\" i.e., malloc checking is not already in use .\" and the caller requested malloc checking Эти функции никогда не сохраняют и не восстанавливают указатели на перехватывающие функции, но есть два исключения: если вызваны проверки malloc (смотрите \fBmallopt\fP(3)), то, если возможно, \fBmalloc_get_state\fP() сбрасывает проверки malloc перехватывающих функций; если проверки malloc не используются в сохранённом состоянии, но вызывающий их запросил, то перехватывающие функции сбрасываются в 0. .SH "СМОТРИТЕ ТАКЖЕ" \fBmalloc\fP(3), \fBmallopt\fP(3) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства разработал aereiae , Alexey , Azamat Hackimov , Dmitriy S. Seregin , Dmitry Bolkhovskikh , ITriskTI , Max Is , Yuri Kozlov , Иван Павлов и Малянов Евгений Викторович . .PP Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, .UR https://www.gnu.org/licenses/gpl-3.0.html .UE версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. .PP Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику по его адресу электронной почты или по адресу .MT списка рассылки русских переводчиков .ME .