Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/16: Рейтинг темы: голосов - 16, средняя оценка - 4.63
1 / 1 / 4
Регистрация: 20.10.2012
Сообщений: 130

Межпроцессорное взаимодействие C# и C++

01.12.2012, 00:29. Показов 3159. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно передавать набор переменных разных типов.
Например для двух переменной типа double с использованием: CreateFileMapping
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.12.2012, 00:29
Ответы с готовыми решениями:

.Net Core и межпроцессорное взаимодействие
Появилась задача, которую хочу решить на Core, посему начал плотно изучать с самых основ и уже появились вопросы. В частности, на сайте...

Межпроцессорное взаимодействие
Добрый день. Может быть кто знает готовые библиотеки реализующие клиент-сервер (любые, кроме сокетов)?

Межпроцессорное взаимодействие
Требуется хелпа, собственно условие: передача сообщений через стандартные потоки ввода-вывода, синхронизация сигналами. передача...

4
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8725 / 3677 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
01.12.2012, 16:04
Что не получается? (код в студию)
0
1 / 1 / 4
Регистрация: 20.10.2012
Сообщений: 130
02.12.2012, 15:39  [ТС]
Я смогу тестить только в рабочии дни. Завтра код покажу для обсуждения, какие-то материалы нашел по этой теме.

Добавлено через 21 час 15 минут
В C# примеров не хватает.
C#
1
 MemoryMappedFile OneMemoryMappedFile = MemoryMappedFile.CreateNew("MyMapOne",1000);
Хочу далее записать переменную A типа float в первые 4 байта, а переменную B во вторые 4 байта?

Добавлено через 8 минут
И что-то не вижу здесь установки прав доступа для файла. Я же буду читать из другого приложения.

Добавлено через 17 минут
В С++

C++
1
2
3
4
5
  HANDLE map=OpenFileMappingA(FILE_MAP_WRITE,NULL,"MyMapOne");
       if(map)
         {
          float pb=(float)MapViewOfFile(map,FILE_MAP_WRITE,0,0,4);
       }
???

Добавлено через 1 час 2 минуты
C#
1
2
3
  MemoryMappedFile OneMemoryMappedFile = MemoryMappedFile.CreateNew("MyMapOne", 1000, MemoryMappedFileAccess.ReadWrite);
 MemoryMappedViewStream myMemoryMappedStream = OneMemoryMappedFile.CreateViewStream(0, 8, MemoryMappedFileAccess.ReadWrite);
  myMemoryMappedStream.Write //???
И надо числа A и B поместить в буфер, чтобы прочитать их оттуда.

Добавлено через 23 минуты
В С# вариант решения появился:
C#
1
2
3
4
5
6
MemoryMappedFile OneMemoryMappedFile = MemoryMappedFile.CreateNew("MyMapOne", 1000, MemoryMappedFileAccess.ReadWrite);
MemoryMappedViewStream myMemoryMappedStream = OneMemoryMappedFile.CreateViewStream(0, 8, MemoryMappedFileAccess.ReadWrite);
 var bytes = BitConverter.GetBytes(A);
                    var bytes1 = BitConverter.GetBytes(B);
                    myMemoryMappedStream.Write(bytes, 0, 4);
                    myMemoryMappedStream.Write(bytes1, 5, 4);
В C++ посложнее, и без помощи не обойтись.

Добавлено через 7 минут
C++
1
 PBYTE pb=(PBYTE)(MapViewOfFile(map,FILE_MAP_WRITE,0,0,8));
И здесь надо взять первые 4 байта pb, преобразовать их в float и присвоить переменной A1 значение. Также для B1.???
0
03.12.2012, 11:49

Не по теме:

Цитата Сообщение от eugene7711 Посмотреть сообщение
Межпроцессорное взаимодействие
может, все-таки межпроцессное? 8-)

1
1 / 1 / 4
Регистрация: 20.10.2012
Сообщений: 130
03.12.2012, 12:21  [ТС]
Да)) Вопрос почти решился есть маленькие ошибки:
C#
1
2
3
4
5
6
MemoryMappedFile OneMemoryMappedFile = MemoryMappedFile.CreateNew("MyMapOne", 1000, MemoryMappedFileAccess.ReadWrite);
MemoryMappedViewStream myMemoryMappedStream = OneMemoryMappedFile.CreateViewStream(0, 8, MemoryMappedFileAccess.ReadWrite);
 var bytes = BitConverter.GetBytes(A);
                    var bytes1 = BitConverter.GetBytes(B);
                    myMemoryMappedStream.Write(bytes, 0, 4);
                    myMemoryMappedStream.Write(bytes1, 4, 4);
В последней строчке говорит за пределами диапазона. Вроде проверил bytes and bytes1 по 4 байта, открыл для просмотра 8 байт и пишу в них, в чем ошибка?

Добавлено через 27 минут
Все получилось. Указатель смещается при первом Write.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.12.2012, 12:21
Помогаю со студенческими работами здесь

Межпроцессорное взаимодействие в пределах сессии ОС
Всем доброго... Вопрос совсем не по Delphi, но по WinAPI в частности, если лучше в другую ветку - просьба перенести. Суть такова:...

Взаимодействие VB и VC++
Взаимодействие VB и VCPP. VB60 и VCPP50. Помогите решить проблемку. Есть VB проект и dll на плюсах. Всё бы хорошо и всё...

Взаимодействие C# и 1c
Подскажите как такое реализовать? Есть некие устройства с которыми из программы C# можно без проблем работать, но у 1с есть с этим...

Взаимодействие МК и ПК
Здравствуйте! Недавно я сделал что-то вроде небольшого робота на Arduino UNO управляемого с ПК. Для того чтоб связать Пк с дуней я...

Взаимодействие 1С и C#
Добрый день. Есть такая задача - написать простейший графический редактор, в котором можно будет на исходной картинке что-то пометить,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru