«dynamic-loading» etiketlenmiş sorular

5
Linux'ta kitaplıkları yüklemek için hangi sistem çağrısı kullanılır?
In straceçıkışları, yürütülebilir dediğimiz kütüphanelere yolları için çağrılarda bulunmaktadır open(). Bu, sistem çağrısı dinamik olarak bağlanmış olan çalıştırılabilirler tarafından kullanılıyor mu? Ne hakkında dlopen()? open()Tahmin ettiğim bir çağrı değil, programların yürütülmesinde rol oynayacağını tahmin ediyorum.


2
ELF paylaşılan kütüphaneleri - PLT için motivasyon
Kendi kendini değiştiren kod, dinamik olarak bağlı kütüphanelerde fonksiyon çağrısını hızlandırmak için kullanılabilir mi? Anladığım kadarıyla, ELF paylaşılan kütüphaneleri , kütüphane fonksiyonlarının tembel bağlanmasını sağlamak için bir tür dolaylı atlama tablosu (prosedür bağlantı tablosu veya PLT) kullanır. Amaç, ilk çağrıda işlev konumlarının tembel çözümlenmesini sağlarken kod segmentindeki tabloyu değiştirmekten kaçınmak …

1
ELF yürütülebilir dosyasının hangi bölümleri belleğe yüklenir ve nerede?
Zaten bildiğim: Bir ELF yürütülebilir dosyasının birkaç bölümü vardır, açıkçası .text ve .data bölümleri programın ana bölümleri olduğu için belleğe yüklenir. Ancak bir programın çalışması için, özellikle dinamik olarak bağlandığında daha fazla bilgiye ihtiyaç duyar. İlgilendiğim şey .plt, .got, .dynamic, .dynsym, .dynstr etcetera gibi bölümlerdir. ELF'nin işlevlerin adreslere bağlanmasından sorumlu …
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.