Вызов экспортированной функции в двоичном файле - PullRequest
0 голосов
/ 27 мая 2019

У меня есть бинарный файл в 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) Как преобразовать двоичный файл в файл?

...