Индекс форумов |
Исходное сообщение |
---|
"Проблемы с динамической памятью в С (?)" Отправлено webs, 08-Ноя-06 09:08 |
Здравствуйте! Возникла следуюшая проблема. Я сейчас пишу http-сервер под Linux на чистом С, и возникают неполадки с динамической памятью. Ниже приведён кусок файла заголовка, в котором объявлены все переменные,о которых пойдёт речь. Особенно прошу обратить внимание на структуру httpd, так как переменная именно этого типа является аргументом практически всех функций и коллектором всей информации, достигая размеров порядка 15-16 килобайт (проверено в дебаггере kdbg). В ней есть указатель variables на массив структур типа httpVar. В variables записываются данные из лог-файла. Дело в том, что до добавления данного указателя в структуру httpd всё было отлично, а потом стали возникать всякие непонятные вещи - при отладке во время записи очередной переменной в массив происходит стирание или искажение значений других элементов массива и переменных, с ним никак не связанных! Запись ведётся с помощью strcpy (пробовал memcpy и даже memmov!). Память для элементов массива, как и для всей переменной server типа httpd выделяется динамически с помощью malloc. Пробовал заранее указывать их размеры - то же самое! Единственное, что сама переменная server всё равно создаётся динамически, я просто не могу позволить себе тратить столько памяти почём зря, ведь приложение ещё и многозадачное, на тредах построено... И в другую переменную данные из лога не запишешь, вся структура проги построена на принципе одной глобальной переменной. |
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования. |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |