|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.07.2015, 12:22 | #1 |
Форумчанин
Регистрация: 18.03.2015
Сообщений: 114
|
Си. Общая память
Здравствуйте!
Расшарил сегмент памяти для межпроцессного взаимодействия. Подключаю этот сегмент в другой программе, получаю указатель на начало области общей памяти *shared_memory. Подскажите, пожалуйста, каким образом, имея указатель, я могу посмотреть на эту область как на массив short int? Понимаю, что вопрос глупый, но я никак не могу сообразить как мне присвоить первому элементу массива адрес *shared_memory |
01.07.2015, 12:32 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
01.07.2015, 12:41 | #3 |
Форумчанин
Регистрация: 18.03.2015
Сообщений: 114
|
Спасибо за помощь! Но я немного не понял, видно вопрос написал криво
Код:
ПС. понял, что вы имели в виду, но мне к сожалению недостаточно просто посмотреть на память как на short int. Нужно двигаться свободно по массиву, без вычислений смещения конкретного элемента. Все равно спасибо за помощь Последний раз редактировалось Bayern_M; 01.07.2015 в 12:46. |
01.07.2015, 12:45 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
при таком объявлении никак, у вас массив уже лежит где-то.
а надо просто Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
01.07.2015, 12:51 | #5 |
Форумчанин
Регистрация: 18.03.2015
Сообщений: 114
|
|
01.07.2015, 14:24 | #6 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
regs[123] = 321;
|
01.07.2015, 14:46 | #7 |
Форумчанин
Регистрация: 18.03.2015
Сообщений: 114
|
правильно я понимаю, что вот кусок рабочий?
Код:
Последний раз редактировалось Bayern_M; 01.07.2015 в 15:25. |
01.07.2015, 17:47 | #8 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Так я не понял, вам int или float?
Не проще будет: Код:
|
02.07.2015, 09:15 | #9 |
Форумчанин
Регистрация: 11.01.2013
Сообщений: 149
|
Вы не забывайте ту структуру которую вы туда запихнули вы и считываете. Просто вам нужно в первые два или четыре байта записать длину массива, в зависимости от длины массива, который будет у вас задействован.
И потом приводите к нужному типу ваш массив и все.
Может это и чушь, но это моя чушь и я ее никому не отдам.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Общая память у переменных! | moon-guest | Общие вопросы Delphi | 3 | 24.07.2013 12:18 |
общая папка | CraZZy RabbIt | Общие вопросы Delphi | 15 | 18.02.2012 12:57 |
Общая переменная | Артэс | Общие вопросы C/C++ | 4 | 18.06.2009 16:24 |
Общая БАЗА | OgE®_M@G | Microsoft Office Access | 4 | 07.01.2009 22:05 |
Общая переменная | А.Брей | Помощь студентам | 2 | 20.05.2007 18:13 |