Лекция курса "Языки и методы программирования"
Лекция-11: динамическая память
- Хотим загрузить содержимое файла в память компьютера
- Вариант: использовать простой массив, который создаём внутри подпрограммы
- Проблема размера статического массива
- Массив переменной длины VLA (variable length array)
- Проблема вернуть статический массив из подпрограммы
- Сегменты памяти: динамическая память (куча)
- stdlib, malloc, free, sizeof
- Документация: GCC (GNU Compiler Collection)
- Документация: Язык Си (реализация GNU C)
- Документация: Стандартная библиотека Си
- Внутреннее устройство malloc
- Замечание: в С++ - new и delete
- Нехватка памяти: стек vs куча
- Проблема фрагментации памяти
- Утечка памяти
- Просмотр сегментов памяти запущенного приложения в ОС GNU/Linux
- VLA vs malloc
- Давайте всё-таки загрузим файл
- Задания для самостоятельной работы