0 Pluspunkte 0 Minuspunkte
Wie kann ich eine Funktion in einer .so Datei aufrufen?
bezieht sich auf eine Antwort auf: Funktion einer .dll Datei aufrufen in C
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Hier ein Beispiel

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

/* Funktionsdeklaration */
typedef int (*MYFUNC)(float);

int main() {
    void* handle; // Handle zur .so-Datei
    MYFUNC fn;    // Funktionszeiger

    handle = dlopen("libmyLib.so", RTLD_LAZY);
    if (!handle) {
        fprintf(stderr, "Fehler beim Laden der Bibliothek: %s\n", dlerror());
        return 1;
    }

    fn = (MYFUNC) dlsym(handle, "myFunc");
    if (!fn) {
        fprintf(stderr, "Fehler beim Laden der Funktion: %s\n", dlerror());
        dlclose(handle);
        return 1;
    }

    int result = (*fn)(3.14159f); // Funktionsaufruf

    dlclose(handle);

    return 0;
}
von