Помогите, пож-та, исправить мой код для импорта функций из динамической библиотеки.main.c:
#include <unistd.h>
#include <errno.h>
#include <dlfcn.h>
int main(int argc, char * argv[])
{
void *handle;
int *iptr, (*fptr)(int);
/* open the needed object */
handle = dlopen("/usr/home/igor/1/module1.so", RTLD_LOCAL | RTLD_LAZY);
/* find the address of function and data objects */
fptr = (int (*)(int))dlsym(handle, "my_function");
/* invoke function, passing value of integer as a parameter */
(*fptr)(22);
return 0;
}
module1.c (собирается в module1.so) :
int my_function(int k)
{
k++;
return k;
}
##########g++ -g -o loader main.c
При запуске loader программа аварийно завершается: Segmentation Fault
Мои предположения, что причина - в некорректном приведении типов.
Жду ваших вариантов для разрешении этой проблемы.