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

Discussion in 'WASM.UNIX' started by P_F, Oct 23, 2006.

  1. P_F

    P_F New Member

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

    Bert New Member

    Blog Posts:
    0
    Joined:
    May 11, 2005
    Messages:
    20
    Location:
    Russia
    dlopen, dlsym, dlclose и dlerror входят в стандарт POSIX. Так что должны работать одинаково на всех posix-compliant системах.
     
  3. volodya

    volodya wasm.ru

    Blog Posts:
    0
    Joined:
    Apr 22, 2003
    Messages:
    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

    Blog Posts:
    0
    Joined:
    Mar 27, 2006
    Messages:
    116
    Location:
    Russia
    А реализация стандарта POSIX "находится" в ядре и в либах? Если и в либах, то в каких?
    Или в либах враперы над сискалами? А юзание либ даёт стандартизацию интерфейса, без них, на сискалах, теряется кроплатформенность?
    Кажется сам себе ответил... и всё же, это так?
     
  5. Quantum

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

    Blog Posts:
    0
    Joined:
    Jan 6, 2003
    Messages:
    3,143
    Location:
    Ukraine
    P_F
    В либах враперы и логика для кеширования вызовов сисколов (при выделении памяти, чтении файлов и т.д.)
     
  6. P_F

    P_F New Member

    Blog Posts:
    0
    Joined:
    Mar 27, 2006
    Messages:
    116
    Location:
    Russia
    Quantum
    А система разве не кеширует вызовы, (т.е. хранит таблици хенделов, делает проверки или подразумевалось другое?) ?
     
  7. Quantum

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

    Blog Posts:
    0
    Joined:
    Jan 6, 2003
    Messages:
    3,143
    Location:
    Ukraine
    P_F
    Может, и кеширует, но, в принципе, не должна. Подряд несколько вызовов libc!malloc выполняются быстрее, чем несколько системных mmap/brk.