Dynamic Libraries In *nix
I have just been reading this article [link]http://www.gamedev.net/reference/articles/article928.asp[/link] about using dynamic linking with .dll's in Windows.
Is this methods also possible on *nix platforms too (Granted not with dll's, but with a platform specific library)? I'm assuming that all platforms have some method of dynamically linking to libraries at runtime, but I'm only aware of a method in Windows
Thanks for any help
Spree
Dynamic libraries on *nix systems are usually referred to as shared objects and have the .so extension. You can look up the man pages for dlopen(), dlsym() and dlclose() for more information.
And take a look at the pages for ld and ldd too.
http://www.cis.gsu.edu/~shong/oojokes/
Depending on the type of Unix, you might need to use "chatr" or "dump -H" instead of "ldd".
On AIX extension of a shared library can be anything, for example: .bob, .my_shared_library, .dll, whatever you want.
On HP-UX, it will be ".sl", not ".so".
".so" on Solaris, not sure about Linux, probably also.
Definatelly on all Unixes there are shared (or in windows terms 'dynamic') libraries.
On AIX extension of a shared library can be anything, for example: .bob, .my_shared_library, .dll, whatever you want.
On HP-UX, it will be ".sl", not ".so".
".so" on Solaris, not sure about Linux, probably also.
Definatelly on all Unixes there are shared (or in windows terms 'dynamic') libraries.
http://www.mildspring.com - developing android games
Quote: Original post by abeylin
On AIX extension of a shared library can be anything
Heh, that's not exactly AIX specific. File extensions are pretty much always arbitrary on UNIX.
And, yes, all modern unices should supports shared libraries. But there's still lots of old systems around that don't (my ultrix machine for example..).
If you're not shy of GPL, you could check out GNU Libtool. It could benefit you if you're trying to write cross platform programs using shared libraries.
If you need to avoid GPL, dlopen, etc., as mentioned by SiCrane are the way to go on unix.
If you need to avoid GPL, dlopen, etc., as mentioned by SiCrane are the way to go on unix.
-bodisiw
Quote: Original post by NoahAdler
If you're not shy of GPL, you could check out GNU Libtool. It could benefit you if you're trying to write cross platform programs using shared libraries.
If you need to avoid GPL, dlopen, etc., as mentioned by SiCrane are the way to go on unix.
If you're talking about libltdl (the library that wraps the native dynamic library functions), which is kind-of part of libtool, it's licensed under the LGPL, not the GPL.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement