Есть ли в *nix способы загрузки и юзания динамических либ другие, нежели через dlopen/dlsym/dlclose, но крос никсовые, и вообще функи dlopen/dlsym/dlclose являются ли крос никсовыми, и всегда ли они в dl-ldl.so или в разных никсах может по разному получится... Всё что нашёл по сабжу, это dlopen/dlsym/dlclose, и всё про линукс на бзде это так же а вот на других никс как (кпримеру на той же солярке)? Кто знает подскажите плз, хотя бы линк где почитать...
dlopen, dlsym, dlclose и dlerror входят в стандарт POSIX. Так что должны работать одинаково на всех posix-compliant системах.
угумс. когда-то на солярке игрался с этим давно. работали как часики. http://developers.sun.com/solaris/articles/elf.html http://www.wasm.ru/docs/2/linux_so.zip
А реализация стандарта POSIX "находится" в ядре и в либах? Если и в либах, то в каких? Или в либах враперы над сискалами? А юзание либ даёт стандартизацию интерфейса, без них, на сискалах, теряется кроплатформенность? Кажется сам себе ответил... и всё же, это так?
P_F В либах враперы и логика для кеширования вызовов сисколов (при выделении памяти, чтении файлов и т.д.)
Quantum А система разве не кеширует вызовы, (т.е. хранит таблици хенделов, делает проверки или подразумевалось другое?) ?
P_F Может, и кеширует, но, в принципе, не должна. Подряд несколько вызовов libc!malloc выполняются быстрее, чем несколько системных mmap/brk.