¿Cómo puede una biblioteca compartida (.so) llamar a una función que se implementa en su programa de carga?
Tengo una biblioteca compartida que implementé y quiero que .so llame a una función que está implementada en el programa principal que carga la biblioteca.
Digamos que tengo main.c (ejecutable) que contiene:
void inmain_function(void*);
dlopen("libmy.so");
En el my.c (el código para el libmy.so) quiero llamarinmain_function
:
inmain_function(NULL);
¿Cómo puede la biblioteca compartida llamarinmain_function
independientemente del hechoinmain_function
Se define en el programa principal.
Nota: quiero llamar a un símbolo en main.c desde my.c no al revés, que es el uso común.