Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Алексей Инкин
Зарегистрирован: 19.09.2004 Сообщения: 32 Откуда: Россия, Нижний Новгород
|
Добавлено: Пт Мар 18 2005 06:32 Заголовок сообщения: .so в Linux: общие глобальные переменные для процессов. |
|
|
Я хочу сделать динамическую библиотеку на C++ под Linux (.so). Я вычитал, что код библиотеки загружается в память только один раз, и после этого все процессы используют его. Может, это и так, проверить не удалось. Мне нужно, чтобы все подключающиеся процессы использовали одни и те же данные, к которым имели бы доступ через функции библиотеки. Но у меня получается (и это проверяется несложным тестом), что значения глобальных переменных, объявленных в библиотеке, свои для каждого процесса. Как можно сделать их общими?
Мне приходит в голову только такой (самый идиотский из возможных) способ: сделать в коде (раз уж он разделяется всеми процессами) ассемблерную вставку типа такой:
jmp end_of_my_var
nop
nop
nop
nop
end_of_my_var:
или что-то подобное, синтаксис точно не помню. Потом эти четыре байта можно использовать для хранения указателя на структуру с данными. Но повторюсь, это будет самым глупым решением, если вообще сработет.
В общем, как можно добиться разделения данных человеческими способами? _________________ puts("hit");
printf("uck"); |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Ersh
Зарегистрирован: 20.01.2004 Сообщения: 107
|
Добавлено: Вт Мар 22 2005 11:27 Заголовок сообщения: |
|
|
используй shared memory. _________________ Анархия - мать порядка!!!!!!!!! |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Алексей Инкин
Зарегистрирован: 19.09.2004 Сообщения: 32 Откуда: Россия, Нижний Новгород
|
Добавлено: Вт Мар 22 2005 15:42 Заголовок сообщения: |
|
|
Хорошо, почитаю про это. Не подскажешь, какую man-страничку надо читать? Или, может быть, ссылки какие-нибудь? _________________ puts("hit");
printf("uck"); |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Ersh
Зарегистрирован: 20.01.2004 Сообщения: 107
|
Добавлено: Ср Мар 23 2005 11:30 Заголовок сообщения: |
|
|
shmget shmctl , там и название других функций будет _________________ Анархия - мать порядка!!!!!!!!! |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Алексей Инкин
Зарегистрирован: 19.09.2004 Сообщения: 32 Откуда: Россия, Нижний Новгород
|
Добавлено: Ср Мар 23 2005 20:20 Заголовок сообщения: |
|
|
Спасибо, попробую разобраться. _________________ puts("hit");
printf("uck"); |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
|