[an error occurred while processing this directive]
Банальный вопрос по "С": если в какой то функции сделать malloc то при выходе из функции автоматом выполняется free?
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
kan
16 февраля 2006 г. 13:05
Составить ответ
|||
Конференция
|||
Архив
Ответы
в некоторых случаях можно пользоваться alloca(). Память, выделенная alloca автоматически освобождается после выхода из функции.
—
радиолюбитель без лицензии
(16.02.2006 13:25
62.64.81.146
,
пустое
)
:))
—
ы
(16.02.2006 13:17
80.92.98.211
, 157 байт)
Ни в коем случае.
—
SM
(16.02.2006 13:08
213.141.159.26
,
пустое
)
Странно... я имею отоадку на MSP430F1612+CC2420 и там много такого написано, работает же!! не виснет никогда. Видимо компилятор отлавливает это.
—
kan
(16.02.2006 15:29
62.205.163.2
,
пустое
)
Да нет, не отлавливает... Просто памяти видимо в запасе много, никак кончиться не может :)
—
SM
(16.02.2006 15:30
213.141.159.26
,
пустое
)
По аглицки это "memory leak" называется.
—
SM
(16.02.2006 15:31
213.141.159.26
,
пустое
)
Я в курсе как называется, просто 100% не утекает.. каждый раз по 100 байт выделяю и выходяон их видимо возвращает системе. Свободных то всего пару килобайт.
—
kan
(16.02.2006 15:42
62.205.163.2
,
пустое
)
он их видимо передает (указатели) куда то а потом память по ним и освобождается. внимательнее надо структуру программы смотреть
—
ы
(16.02.2006 15:54
80.92.98.211
,
пустое
)
он = она = процедура кoторая делает malloc или же убедитесь что не перепутали malloc с alloca которая работает со стеком
—
ы
(16.02.2006 15:57
80.92.98.211
,
пустое
)
Ну не положено компилеру этого делать самостоятельно. Это нарушение ANSI. Автоосвобождение может делаться только по закрытию треда/процесса, но это явно не МСП-случай.
—
SM
(16.02.2006 15:45
213.141.159.26
,
пустое
)
Нет конечно!
—
_Bill
(16.02.2006 13:08
193.233.83.90
,
пустое
)
Отправка ответа
Имя (обязательно):
Пароль:
E-mail:
NoIX ключ
:
Запомнить
Тема (обязательно):
Сообщение:
Ссылка на URL:
Название ссылки:
URL изображения:
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
E-mail:
info@telesys.ru