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;
}