On Fri, 3 Aug 2007, Bryan Jurish wrote:
- no way to sort out name conflicts
- every object is loaded regardless of whether it's used.
- does not work with namespaces (i.e. [moocow/any2string])
(2) is certainly true.
(2) is not true, because dlopen uses mmap, and mmap uses lazy loading for parts that are "loaded" in read-only mode. This is regardless of RTLD_LAZY vs RTLD_NOW: those flags are about symbol resolution; actual inclusion of the file into the process's memory is done using CPU-level virtual memory and the kernel's disk-cache.
(What I say is the case on at least Linux and OSX; can't quite speak for MS)
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada