Динамическая загрузка либ *.SO

Тема в разделе "WASM.UNIX", создана пользователем P_F, 23 окт 2006.

  1. P_F

    P_F New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2006
    Сообщения:
    116
    Адрес:
    Russia
    Есть ли в *nix способы загрузки и юзания динамических либ другие, нежели
    через dlopen/dlsym/dlclose, но крос никсовые, и вообще функи dlopen/dlsym/dlclose
    являются ли крос никсовыми, и всегда ли они в dl-ldl.so или в разных никсах может
    по разному получится...
    Всё что нашёл по сабжу, это dlopen/dlsym/dlclose, и всё про линукс на бзде это так же
    а вот на других никс как (кпримеру на той же солярке)?
    Кто знает подскажите плз, хотя бы линк где почитать...
     
  2. Bert

    Bert New Member

    Публикаций:
    0
    Регистрация:
    11 май 2005
    Сообщения:
    20
    Адрес:
    Russia
    dlopen, dlsym, dlclose и dlerror входят в стандарт POSIX. Так что должны работать одинаково на всех posix-compliant системах.
     
  3. volodya

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169
    угумс. когда-то на солярке игрался с этим давно. работали как часики.

    http://developers.sun.com/solaris/articles/elf.html
    http://www.wasm.ru/docs/2/linux_so.zip
     
  4. P_F

    P_F New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2006
    Сообщения:
    116
    Адрес:
    Russia
    А реализация стандарта POSIX "находится" в ядре и в либах? Если и в либах, то в каких?
    Или в либах враперы над сискалами? А юзание либ даёт стандартизацию интерфейса, без них, на сискалах, теряется кроплатформенность?
    Кажется сам себе ответил... и всё же, это так?
     
  5. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    P_F
    В либах враперы и логика для кеширования вызовов сисколов (при выделении памяти, чтении файлов и т.д.)
     
  6. P_F

    P_F New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2006
    Сообщения:
    116
    Адрес:
    Russia
    Quantum
    А система разве не кеширует вызовы, (т.е. хранит таблици хенделов, делает проверки или подразумевалось другое?) ?
     
  7. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    P_F
    Может, и кеширует, но, в принципе, не должна. Подряд несколько вызовов libc!malloc выполняются быстрее, чем несколько системных mmap/brk.