Обсуждение:Ручное управление памятью


Нет информации о методах ручного управления памятью, таких как арены памяти, временные буферы... Эта страница в основном ложная, поскольку имеет две стороны: а) malloc/free , с которыми сложно справиться в C, и б) RAII/GC. — Предыдущий неподписанный комментарий добавлен пользователем 2A00:1028:8380:99E6:7806:B6CE:A3EF:78D ( обсуждение ) 19:53, 29 июня 2021 г. (UTC)Отвечать[ ответить ]

Интересно, откуда эта дата? Цитата: "Однако по состоянию на февраль 2006 года языки со сборкой мусора становятся все более популярными"; 83.233.56.62 20:21, 20 марта 2007 г. (UTC)Отвечать[ ответить ]

Вплоть до середины 1990-х большинство используемых в промышленности языков программирования поддерживали ручное управление памятью. Однако сегодня языки со сборкой мусора становятся все более популярными; основными языками с ручным управлением, которые до сих пор широко используются, являются C и C++.

Это неправда. Такие языки, как Ada и Modula3, поддерживают MM в «небезопасных» модулях. Память, управляемая вручную (или GCed, в зависимости от того, что используется по умолчанию) выделяется в отдельной куче и обрабатывается соответствующими примитивами (например, malloc&co). Вообще говоря, любой язык может иметь такой низкоуровневый API. Большинство, если не все реализации CommonLisp, предоставляют так называемые примитивы «инопланетных/чужих типов», см. CFFI CFFI , «CFFI в SBCL», «Руководство по SBCL» и «Franz Inc.». "Аллегро Франца CL FFI"

ИМО возможность обеспечить удаление системных ресурсов во время освобождения объекта может быть полезной независимо от нехватки ресурсов, я бы удалил прилагательное «дефицитный».

- используемая функция - это возможность определения деструкторов/финализаторов, которые ортогональны RAII, вместо этого основаны на семантике распределения стека.