|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Alexei Dets 2:5020/400 06 Mar 2002 20:09:51 To : Igor Mordkovitch Subject : Re: Shared library and _init --------------------------------------------------------------------------------
Hi!
Igor Mordkovitch wrote:
> Пытаюсь построить динамическую библиотеку и открыть ее вызовом
> dlopen(). В документации по dlopen сказано, что если в библиотеке есть
> символ _init, то он будет вызван - а вот фигушки, не вызывается. dlopen
> срабатывает, dlsym находит все нужные мне функции, вызываю их - все
> пучком. А вот _init вызвать - ну никак... Вообще построить библиотеку,
> содержащую символ _init, не получается - линкер ругается. Пробовал
> сказать линкеру вместо _init использовать другой символ - не вызывается
> он при dlopen, хоть плачь.
Можно почитать здесь:
http://news.linuxprogramming.com/news_story.php3?ltsn=2001-03-23-001-03-ID-HT
По-видимому причина в следующем (цитата):
When compiling the file (имеется в виду файл с _init) into a ``.o'' file in
gcc, be sure to add the gcc
option ``-nostartfiles''. This keeps the C compiler from linking the system
startup libraries against the .so file. Otherwise, you'll get a
``multiple-definition'' error.
Алексей
--
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5
* Origin: InfoDesk, S.A. (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/6488190cb0ef.html, оценка из 5, голосов 10
|