Использование одной библиотеки из различных процессов
От: Maniak2k  
Дата: 01.04.04 07:19
Оценка:
Можно ли заставить процесс не загружать библиотеку в свое адресное пространство, а использовать загруженную из адресногопространства другого процесса?

Это мне нужно для организации взаимодействия процессов, или посоветуйте какой-нибуь надежный способ взаимодействия.
Re: Использование одной библиотеки из различных процессов
От: Vamp Россия  
Дата: 01.04.04 07:21
Оценка:
M>Это мне нужно для организации взаимодействия процессов,
Можно в DLL сделать раздел с общими данными. Они будут общими для всех процессов, использующих эту библиотеку.
Есть, конечно, и другие способы, в частности, проецирумые в память файлы, сообщения и т.д.
Да здравствует мыло душистое и веревка пушистая.
Re: Использование одной библиотеки из различных процессов
От: Denis Россия http://blogs.gotdotnet.ru/personal/Denis
Дата: 01.04.04 07:28
Оценка:
почти =)
вот пример:
#pragma data_seg("Shared") LONG g_lInslanceCount; 
#pragma data_seg()

а читать тут:
Рихтер, Создание эф. win32 приложений для Win32, глава 17 =)
... << RSDN@Home 1.1.3 stable >>
Re[2]: Использование одной библиотеки из различных процессов
От: Maniak2k  
Дата: 01.04.04 07:28
Оценка:
Здравствуйте, Vamp, Вы писали:

V>Можно в DLL сделать раздел с общими данными. Они будут общими для всех процессов, использующих эту библиотеку.


А как его обьявить в библиотеке?
Re[2]: Использование одной библиотеки из различных процессов
От: Maniak2k  
Дата: 01.04.04 07:49
Оценка:
Здравствуйте, Denis, Вы писали:

D>почти =)

D>вот пример:
D>
D>#pragma data_seg("Shared") LONG g_lInslanceCount; 
D>#pragma data_seg() 
D>

D>а читать тут:
D>Рихтер, Создание эф. win32 приложений для Win32, глава 17 =)

А может подскажете где пример кода взять или книгу в электронном варианте?

И, кстати, как это будет работать в .NET?
Re[3]: Использование одной библиотеки из различных процессов
От: Denis Россия http://blogs.gotdotnet.ru/personal/Denis
Дата: 01.04.04 08:18
Оценка:
M>А может подскажете где пример кода взять или книгу в электронном варианте?
тут http://anatolix.naumen.ru/win32books.htm

M>И, кстати, как это будет работать в .NET?

не понял вопроса. напрочь. Что Вы понимаетет под ".NET"?
... << RSDN@Home 1.1.3 stable >>
Re[4]: Использование одной библиотеки из различных процессов
От: Maniak2k  
Дата: 01.04.04 08:23
Оценка:
Здравствуйте, Denis, Вы писали:

M>>И, кстати, как это будет работать в .NET?

D>не понял вопроса. напрочь. Что Вы понимаетет под ".NET"?

Если использовать для написания .NET технологию. Как я понимаю это проидет только для Managed C++?
Re[5]: Использование одной библиотеки из различных процессов
От: Denis Россия http://blogs.gotdotnet.ru/personal/Denis
Дата: 01.04.04 08:25
Оценка:
M>Если использовать для написания .NET технологию. Как я понимаю это проидет только для Managed C++?
Грубо говоря это подойдёт для MS С++, и насколько я понимаю .NET только в unmanaged. Если нужно что нить подобное, но на С# то лучше спросить в конфе по .NET, наверное.
... << RSDN@Home 1.1.3 stable >>
Re[2]: Использование одной библиотеки из различных процессов
От: Игорь Вартанов Ниоткуда  
Дата: 01.04.04 10:33
Оценка:
Здравствуйте, Vamp, Вы писали:

M>>Это мне нужно для организации взаимодействия процессов,

V>Можно в DLL сделать раздел с общими данными. Они будут общими для всех процессов, использующих эту библиотеку.
V>Есть, конечно, и другие способы, в частности, проецирумые в память файлы, сообщения и т.д.

Народ, вы вопрос внимательно читали?
"Можно ли заставить процесс не загружать библиотеку в свое адресное пространство, а использовать загруженную из адресного пространства другого процесса?"

А теперь скажите, как можно получить в свое адресное пространство раздел с общими данными, не загружая в него dll?
---
С уважением,
Игорь
Re[3]: Использование одной библиотеки из различных процессов
От: Vamp Россия  
Дата: 01.04.04 10:50
Оценка:
ИВ>А теперь скажите, как можно получить в свое адресное пространство раздел с общими данными, не загружая в него dll?
Я ориентировался на поянснение причин, зачем это нужно. Общие секции позволяют организовывать обмен данными между процессами.
Да здравствует мыло душистое и веревка пушистая.
Re[4]: Использование одной библиотеки из различных процессов
От: SergeyAksuchenko Беларусь  
Дата: 05.04.04 14:16
Оценка:
#pragma data_seg(push, ".MySuperSharedSegment")
int iSharedData = 666;
#pragma comment(linker, "/SECTION:.MySuperSharedSegment,RWS")
#pragma data_seg(pop)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.