The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"extern variable in shared library - возможно ли?"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"extern variable in shared library - возможно ли?"  
Сообщение от Dip on 02-Дек-06, 17:50 
Можно ли объявить extern переменную в динамически связываемой библиотеке? Т.е. есть программа, в ней объявлена глобальная переменная, она же объявлена как extern в динамической библиотеке, которая загружается нашей программой как плагин. У меня не получилось, поэтому спрашиваю - это вообще возможно? Если да, ткните носом где почитать.
Спасибо!

P.S. У меня при загрузке плагина ldopen() говорит на мою переменную undefined symbol.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "extern variable in shared library - возможно ли?"  
Сообщение от perece on 04-Дек-06, 19:25 
>Можно ли объявить extern переменную в динамически связываемой библиотеке? Т.е. есть программа,
>в ней объявлена глобальная переменная, она же объявлена как extern в
>динамической библиотеке, которая загружается нашей программой как плагин. У меня не
>получилось, поэтому спрашиваю - это вообще возможно? Если да, ткните носом
>где почитать.
>Спасибо!
>
>P.S. У меня при загрузке плагина ldopen() говорит на мою переменную undefined
>symbol.

правильно. она же об'явлена в головном модуле, а не в плагине. при чем тут вообще dlopen()?
при запуске ф-ии планина (ее как раз получаем через dlopen/dlsym) ф-ия лезет к переменной "напрямую", и по идее должна добираться (динамический линкер при открытии библиотеки dlopen'ом сам все сделает)

переменная должна быть в либе именно extern (т.е. "U") а не common и не weak

\^P^/

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру