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