CodeBlanks Logo Icon CodeBlanks

Özet - Dinamik yükleme

  • C kursu
  • İleri seviye
  • Ders 54/83
  • 5 dk

dlopen ve dlsym'i birleştirerek bir plugin sistemi yazarsın.

Dinamik yükleme özeti

Dinamik yükleme araç setini öğrendin: dlopen kütüphane yükler, dlsym sembol çözümler, dlclose kapatır, dlerror hata yakalar. Bunlar eklenti sistemlerinin, yorumlayıcıların ve modüler mimarinin çekirdeğidir.

Bu özette dört aracı birleştirip bir dl hazırlık uygulaması yazacağız. Hepsini bir arada kullanmak, gerçek bir plugin sisteminin nasıl kurulduğunu gösterir. Çıktı deterministiktir: sabit bir hazır mesajı yazdırırız.

Uygulama dl hazırla

dlerror(); ile eski hatayı temizle. void *h = dlopen(NULL, RTLD_LAZY); ile yükle. void *sym = NULL; if (h) { sym = dlsym(h, "printf"); } ile sembol al. (void)sym;. printf("dl hazır\n"); ile yazdır. if (h) dlclose(h); ile kapat.

Başlangıç kodu

main.c
#include <stdio.h>
#include <dlfcn.h>

// eski hatayı temizle ve yükle
// sembolü çözümle
// hazır yazdır ve kapat

int main(void) {
    return 0;
}

Örnek çözüm

main.c
#include <stdio.h>
#include <dlfcn.h>

int main(void) {
    dlerror();
    void *h = dlopen(NULL, RTLD_LAZY);
    void *sym = NULL;
    if (h) {
        sym = dlsym(h, "printf");
    }
    (void)sym;
    printf("dl hazır\n");
    if (h) dlclose(h);
    return 0;
}

Beklenen çıktı

dl hazır

Sonraki adımlar

Dinamik yüklemeyi tamamladın. Bu temeller, eklenti sistemlerinin, betik dili yorumlayıcılarının ve modüler servis mimarisinin çekirdeğidir. dlopen ile yükle, dlsym ile çağır, dlerror ile koru.

Sonraki konu: kriptografi temelleri. Hash, HMAC, AES ve güvenli rastgele sayı ile veri bütünlüğü ve gizlilik sağlamayı öğreneceksin. Dinamik yükleme ile birleşince, örneğin OpenSSL kütüphanesini runtime'da yükleyip kullanabilirsin.

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Hangi fonksiyon önce çağrılmalıdır?

  • dlclose
  • dlopen Doğru cevap
  • dlsym
  • dlerror

Açıklama: dlopen önce çağrılır; sonra dlsym, en son dlclose.

2 dl fonksiyonlarını eşle

Kavram Anlamı
dlopen Yükler
dlsym Çözümler
dlclose Kapatır
dlerror Hata verir

İleri seviye bölümündeki tüm dersler