Вчера узнал, что ANSI C не разрешает приводить void* к указателю на функцию, даже явно, например код:
void *(*screngine_init)(void);
screngine_init = dlsym(screngine_lib, “screngine_init”);
(*screngine_call)(void);
будет не корректным.
Существует два варианта, как справиться с этой задачей: