Как разделяемая библиотека (.so) может вызывать функцию, которая реализована в ее загрузочной программе?

У меня есть общая библиотека, которую я реализовал, и я хочу, чтобы .so вызывал функцию, которая реализована в основной программе, которая загружает библиотеку.

Допустим, у меня есть main.c (исполняемый файл), который содержит:

void inmain_function(void*);
dlopen("libmy.so");

В my.c (код для libmy.so) я хочу позвонитьinmain_function:

inmain_function(NULL);

Как может общая библиотека вызыватьinmain_function независимо от того фактаinmain_function определяется в основной программе.

Примечание: я хочу вызывать символ в main.c из my.c, а не наоборот, что является обычным явлением.

Ответы на вопрос(4)

Ваш ответ на вопрос