Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.12.2011, 00:42   #1
voicel
 
Регистрация: 06.01.2010
Сообщений: 9
Вопрос C++ и dll

Есть проблемка, прошу помощи.
Есть библиотека dll, содержит в себе разные данные.
Так вот, писал ее так - одно приложение данные записывает, другое их забирает. Но так получается, что второе приложение не видит, что записало первое и наоборот. Т.е. получается что для каждого приложения как-будто своя отдельная dll.
Вопрос: как можно заставить приложения использовать одну и ту же библиотеку?
voicel вне форума Ответить с цитированием
Старый 30.12.2011, 00:47   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

dll грузиться к каждому приложению по-новой, она лишь на диске общая.
вам же правильнее применить Shared Memory, или другие способы межпроцессной коммуникации.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 30.12.2011, 00:49   #3
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

Цитата:
Сообщение от voicel Посмотреть сообщение
Так вот, писал ее так - одно приложение данные записывает, другое их забирает. Но так получается, что второе приложение не видит, что записало первое и наоборот.
куда кто что записывает?

Цитата:
Сообщение от voicel Посмотреть сообщение
Т.е. получается что для каждого приложения как-будто своя отдельная dll.
так оно и есть! копия dll грузится в адресное пространство каждого процесса.

Цитата:
Сообщение от voicel Посмотреть сообщение
Вопрос: как можно заставить приложения использовать одну и ту же библиотеку?
Использовать для передачи данных между процессами shared секции, пайпы, сокеты, файлы и др...


UPD: ну не успел)
counter вне форума Ответить с цитированием
Старый 30.12.2011, 16:45   #4
voicel
 
Регистрация: 06.01.2010
Сообщений: 9
По умолчанию

понятно, Спасибо!

Решил использовать сокеты.
Почитав статьи в инете понял как делать коннект к машине в сети.
А как наладить контакт между двумя приложениями на одной машине то?
Пример функции connect не мог бы кто нибудь показать?
voicel вне форума Ответить с цитированием
Старый 30.12.2011, 16:56   #5
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Если под виндой, то рекомендую:

Александр Побегайло "системное программирование в Windows"
_Bers вне форума Ответить с цитированием
Старый 30.12.2011, 17:07   #6
voicel
 
Регистрация: 06.01.2010
Сообщений: 9
По умолчанию

Да мне бы просто пример функции connect для передачи на одном комп-е.
Читать книгу времени нет.
voicel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доступ к переменной, объявленной в одной dll, из другой dll eduard93 Visual C++ 2 25.09.2011 11:10
Определить SIZEMEM у DLL(Размер dll в памяти процесса) Человек_Борща Общие вопросы Delphi 6 22.07.2011 20:54
Пытаюсь понять код user32.dll и gdi32.dll Beermonza Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 43 13.07.2010 15:09
Ошибка при выхове функций Bass.dll из другой DLL SalasAndriy Общие вопросы Delphi 7 21.10.2009 23:36