The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Выделения больших масивов памяти."
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Выделения больших масивов памяти."
Сообщение от ghost emailИскать по авторуВ закладки on 26-Фев-04, 12:33  (MSK)
Всем привет!
Не подскажете ли любителю, как выделить malloc большой массив памяти?
Ну, скажем, data=(int*)malloc(200000) не работает из-за ошибки в самой функции, а как бороться не знаю.
Спасибо.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Выделения больших масивов памяти."
Сообщение от Murr Искать по авторуВ закладки on 27-Фев-04, 12:14  (MSK)
>Всем привет!
>Не подскажете ли любителю, как выделить malloc большой массив памяти?
>Ну, скажем, data=(int*)malloc(200000) не работает из-за ошибки в самой функции, а как
>бороться не знаю.
>Спасибо.


Какая ОС? Какой компилятор? В каком конкретном месте ошибка?

Телепаты в отпуске ...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Выделения больших масивов памяти."
Сообщение от ghost emailИскать по авторуВ закладки on 28-Фев-04, 12:58  (MSK)
>Какая ОС? Какой компилятор? В каком конкретном месте ошибка?
>
>Телепаты в отпуске ...

Простите, пожалуйста. ОС Suse9.0, компилятор gcc3, ошибка не в моем исходнике а где-то в самом malloc, если это важно могу прислать сообщение из ddd.

Спасибо за ответ и еще раз простите.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Выделения больших масивов памяти."
Сообщение от XMan Искать по авторуВ закладки on 28-Фев-04, 16:54  (MSK)
Надо было сразу и сообщение дать.
Странно вообще-то, что он каких-то 200k не дает выделить :)
  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Выделения больших масивов памяти."
Сообщение от ghost emailИскать по авторуВ закладки on 28-Фев-04, 18:09  (MSK)
>Надо было сразу и сообщение дать.
>Странно вообще-то, что он каких-то 200k не дает выделить :)

Да, XMan, вот лог ddd:
Program received signal SIGSEGV, Segmentation fault.
0x4018d487 in _int_malloc () from /lib/i686/libc.so.6
(gdb) up
#1  0x4018c06c in malloc () from /lib/i686/libc.so.6
(gdb) up
#2  0x08048f67 in read_receptor(char*, t_library*, t_atoms*) (input_file_name=0x804c7c0 "p.pdb", library=0x804c72c, atoms=0x804c734) at main.c:230
/home/alex/y_distance/y_distance/main.c:230:6014:beg:0x8048f67
Current language:  auto; currently c++

Строка main.c:230
atoms->atom=(t_one_atom*)malloc(160000);
Может еще какие данные нужно?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Выделения больших масивов памяти."
Сообщение от XMan Искать по авторуВ закладки on 28-Фев-04, 21:43  (MSK)
Угу. Компильни с переменной окружения "MALLOC_CHECK_=1" и посмотри, что он тебе говорить будет. Вероятно, где-то ты сказал два несколько раз free для одного адреса.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Выделения больших масивов памяти."
Сообщение от ghost emailИскать по авторуВ закладки on 28-Фев-04, 23:04  (MSK)
>Угу. Компильни с переменной окружения "MALLOC_CHECK_=1" и посмотри, что он тебе говорить
>будет. Вероятно, где-то ты сказал два несколько раз free для одного
>адреса.

Говорит он тоже самое :(
ddd не хочет запускать этот бинарник вообще, а Kdeveloper сообщает на об ошибке в той же _init_malloc(). В консоли просто говорит Segmentation fault.
free там вообще нету – это первая функция загрузки данных из файла в структуры, а все free находятся в  конце программы.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Выделения больших масивов памяти."
Сообщение от ghost emailИскать по авторуВ закладки on 29-Фев-04, 13:05  (MSK)
Нашел проблему!!!
Длинна одной из строк инпута совпадала с длинной массива, сделал динамический масив для строки и все заработало. Но вопрос остался, почему malloc не мог выделить память и как связаны длинна одного масива даных с выделением другого?
P.S. Прошу прощения за беспокойство из-за такого пустяка. :)
  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Выделения больших масивов памяти."
Сообщение от Murr Искать по авторуВ закладки on 29-Фев-04, 15:41  (MSK)
>Нашел проблему!!!
>Длинна одной из строк инпута совпадала с длинной массива, сделал динамический масив
>для строки и все заработало. Но вопрос остался, почему malloc не
>мог выделить память и как связаны длинна одного масива даных с
>выделением другого?
>P.S. Прошу прощения за беспокойство из-за такого пустяка. :)


Если с библиотеками все в порядке, то где-то просто портишь память ...

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру