GCC - динамические объектники

Модератор: Модераторы разделов

Аватара пользователя
agbr
Сообщения: 486
ОС: openSUSE 10.2

GCC - динамические объектники

Сообщение agbr »

Есть интересная проблема, которая относится не столько к программированию, сколько к использованию GCC.

Есть как-бы главный бинарик, который линкуется с "-Wl,-E",
есть как-бы модули, которые линкуются "-fPIC -DPIC -shared", а потом загружаются:

Код: Выделить всё

dlopen(fileName.c_str(), RTLD_LAZY);


самое интересное, что при вызове из модуля функции ( которая в главном объектнике ) которая возвращает строку (std::string) происходит нечто непонятное ( видимо нарушается адресация ) вместо праельного значения строка содержит ( внутренний указатель указывает ) кусок динамического объектника.

я подозреваю, что забыл указать какие-то ключи для линковщика. буду рад если ткнете носом.
jabber: agbr@jabber.ru

против проприетарного ПО в GNU/Linux
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: GCC - динамические объектники

Сообщение elide »

я тут быстренько сваял примерчик... вроде у меня все работает...
посмотри, может он у тебя не будет?
слава роботам!
Спасибо сказали:
Аватара пользователя
agbr
Сообщения: 486
ОС: openSUSE 10.2

Re: GCC - динамические объектники

Сообщение agbr »

elide писал(а):
06.10.2005 22:00
я тут быстренько сваял примерчик... вроде у меня все работает...
посмотри, может он у тебя не будет?


Это не совсем то, что у меня.
jabber: agbr@jabber.ru

против проприетарного ПО в GNU/Linux
Спасибо сказали:
Аватара пользователя
agbr
Сообщения: 486
ОС: openSUSE 10.2

Re: GCC - динамические объектники

Сообщение agbr »

все заработало, я просто из функции забыл вернуть результат, т.е. вместо
{return m_pImpl->...} написал просто {m_pImpl->...}. А компилятор меня даже не обругал почиму-то.
jabber: agbr@jabber.ru

против проприетарного ПО в GNU/Linux
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: GCC - динамические объектники

Сообщение t.t »

А компилятор меня даже не обругал почиму-то.
Максимум тут мог быть варнинг.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали: