Evet. dlopen(3) linux adam sayfanın mesajı:
If the same library is loaded again with dlopen(), the same file
handle is returned. The dl library maintains reference counts for
library handles, so a dynamic library is not deallocated until
dlclose() has been called on it as many times as dlopen()
has succeeded on it.
BTW, Linux sistemlerinde, sen manydl.c gösteriyor benim örnek olarak, paylaşılan kütüphanelerin bir sürü (binlerce birçok onlarca) dlopen olabilir
. Ana sınırlama adres alanıdır. Yani, pratikte,
dlclose
hakkında rahatsızlık duymuyorum. Aralık 2017 yılında
Eklendi (sizin Dlopen-ed paylaşılan kütüphaneler garip veya kaynak tüketen yapıcı veya yıkıcı işlevlere sahip olmadıkça)
:
kesin yolu dize geçirilen neyi ilgili olduğu Bildirimi olduğunu dlopen
. Bu nedenle, "./foo.so"
ve "././foo.so"
(veya "../foosymlink.so"
, foo.so
öğesinin bir bağlantı noktasıdır) kullanırsanız, dlopen-ed tanıtıcıları farklıdır ve bazı durumlarda bu paylaşılan kitaplığın iki örneğinin tuhaf davranışı gerçekleşebilir.
.. ve bu sayfayı okudum, neden bu paragrafı okumadım? Hmpf .. peki, teşekkür ederim benim aptal soruyu cevaplamak için daha az hayır :) – mageta