LINUX.ORG.RU

сделай в bar.so инициализирующую функцию, получающую в качестве параметра адрес foo_function, и, затем, если нужно, вызывающую ее вроде == bar.h == ... typedef void (* bar_func_t *) (void); void init(bar_func_t foo_function); ...

== bar.c ===

... static bar_func_t my_foo_function = NULL;

void init(bar_func_t foo_function) { my_foo_function = foo_function; } ... /* где-то еще */ (* my_foo_function)(); ...

Deleted
()

забыл юзер лайн брейк выставить...
сделай в bar.so инициализирующую функцию, получающую в качестве параметра адрес foo_function, и, затем, если нужно, вызывающую ее
вроде
== bar.h ==
...
typedef void (* bar_func_t *) (void);
void init(bar_func_t foo_function);
...

== bar.c ===

...
static bar_func_t my_foo_function = NULL;

void init(bar_func_t foo_function)
{
my_foo_function = foo_function;
}
...
/* где-то еще */
(* my_foo_function)();
...

Deleted
()
Ответ на: комментарий от Deleted

А, спасибо. Вообще-то я так и хотел сделать, как единственное решение которое знал, думал может что покрасивее есть. Все равно, спасибо, inline.

m6Nhwz
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.