Можно ли объявить extern переменную в динамически связываемой библиотеке? Т.е. есть программа, в ней объявлена глобальная переменная, она же объявлена как extern в динамической библиотеке, которая загружается нашей программой как плагин. У меня не получилось, поэтому спрашиваю - это вообще возможно? Если да, ткните носом где почитать.
Спасибо!P.S. У меня при загрузке плагина ldopen() говорит на мою переменную undefined symbol.
>Можно ли объявить extern переменную в динамически связываемой библиотеке? Т.е. есть программа,
>в ней объявлена глобальная переменная, она же объявлена как extern в
>динамической библиотеке, которая загружается нашей программой как плагин. У меня не
>получилось, поэтому спрашиваю - это вообще возможно? Если да, ткните носом
>где почитать.
>Спасибо!
>
>P.S. У меня при загрузке плагина ldopen() говорит на мою переменную undefined
>symbol.правильно. она же об'явлена в головном модуле, а не в плагине. при чем тут вообще dlopen()?
при запуске ф-ии планина (ее как раз получаем через dlopen/dlsym) ф-ия лезет к переменной "напрямую", и по идее должна добираться (динамический линкер при открытии библиотеки dlopen'ом сам все сделает)переменная должна быть в либе именно extern (т.е. "U") а не common и не weak
\^P^/