У меня есть функция static inline
, определенная в файле H, и в какой-то момент в файле C я назначаю указатель на функцию, что-то вроде этого:
foo.h:
static inline void frobnicate(void) {
// frobs something.
}
foo.c
#include "foo.h"
void execute(void (*func)(void) ) {
func();
}
void blahBlahBlah(void) {
execute(frobnicate);
}
bar.c
#include "foo.h"
// ...
frobnicate();
Так что я думаю, что здесь произойдет, что компилятор встроит вызов frobnicate
из bar.c, но в foo.c ему фактически нужно будет создать функцию для реализации frobnicate
, чтобы иметь рабочий указатель на нее.
Может кто-нибудь подтвердить, что мое пониманиеточный, и поправьте меня иначе?