The UNIX and Linux Forums  


Go Back   В UNIX и Linux Форумы > Топ форумы > Программирования высокого уровня
.
Google unix.com



Программирования высокого уровня Почтовые вопросы о C, C + +, Java, SQL и других языках программирования здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
[C] Проблемы с общей памятью hurricane86 Программирования высокого уровня 2 11-26-2008 05:58 PM
Общая память для общей библиотеки otheus Программирования высокого уровня 0 09-03-2008 04:55 AM
Общая память на общую библиотеку DreamWarrior Программирования высокого уровня 12 05-30-2007 05:33 PM
Память обмена - не в общей памяти -- elzalem Программирования высокого уровня 9 05-02-2007 08:45 AM
Общая нехватка памяти, но много неиспользованной памяти cjcamaro UNIX перспективных И опытных пользователей 1 10-13-2004 06:10 PM

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 06-28-2009
BeNdErR BeNdErR is offline
Зарегистрированный пользователь
  
 

Регистрация: июнь 2009
Сообщений: 4
Проблемы, связанные с общей памятью и списки

Привет, я должен поставить в общей памяти список с объектом этой структуры:


Код:
typedef struct Obj{
char objname[20];
struct Obj *nextObj;
}Object

Я заполнены моем списке с (например) 10 элементов, но когда я пытаюсь поставить его в общей памяти следует другого процесса я получаю сегментации вины после первого чтения запись ..
Я читал в другой поток (здесь -> динамический общей памяти ) malloc что дает sone проблемы с общей памятью
Цитата:
Если вы призвали malloc создать linked_list_header-> PTR, Затем адрес возвращается malloc является частным с призывом (процесс, который требует malloc) Процесс. То же с NODE-> буфер. Вы должны передать эти вещи в общем "на руки" без вызова malloc.
но я не понимаю, что я должен теперь делать и как решить мою проблему.

Я попытался поделиться объект таким образом:

Код:
Obj *head;     //pointer to the head of my FILLED list
int shmid;
Obj *sh;
...
shmid = shmget(SHMKEY,(sizeof(Obj)*10),0666|IPC_CREAT|IPC_EXCL);
...
sh = (Obj *)shmat(shmid, 0, 0666);
...
*sh = *head;

Вероятно, я пропустил кое-или, может быть, я совершенно неправильно ... каким образом я могу передать объект в общем "на руки" без вызова malloc?

Спасибо за вашу поддержку, наилучшие пожелания.
 

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 07:20 AM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0