C: Указатель на встроенную функцию

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

Может ли кто-нибудь подтвердить правильность моего понимания и исправить меня в противном случае?

11
задан brianmearns 16 January 2012 в 20:08
поделиться