У меня есть бинарный файл в Linux (не so
файл), который экспортировал какую-то функцию.
Я хочу вызвать из моего кода c (во время выполнения) 1 экспортируемой функции, я знаю, что с помощью dlsym
я могу вызвать функцию в файле so
, например
#include <dlfcn.h>
void* libHandle =dlopen("/usr/lib/myLib/libutil.so", RTLD_LAZY);
if (!libHandle) {
exit(1);
}
void (*circle)(int x, int y, int r);
circle = dlsym(libHandle, "drawCircle");
circle(10,10,7);
dlclose(libHandle);
1) Можно ли вызвать функцию во время выполнения только для файла so
?
2) Как я могу проверить, является ли двоичный файл, который я хочу вызвать 1 экспортируемой функции, таким файлом?
3) Как преобразовать двоичный файл в файл?