У меня есть 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
, чтобы он мог иметь рабочий указатель на него.
Может ли кто-нибудь подтвердить правильность моего понимания и исправить меня в противном случае?