title: C: Pointer to inline function
body: <p>I have a <code>static inline</code> function defined in an H file, and at one point in a C file, I'm assigning a pointer to the function, something like this:</p>
  
  <p>foo.h:</p>
  
  <pre><code>static inline void frobnicate(void) {
      // frobs something.
  }
  </code></pre>
  
  <p>foo.c</p>
  
  <pre><code>#include "foo.h"
  
  void execute(void (*func)(void) ) {
      func();
  }
  
  void blahBlahBlah(void) {
      execute(frobnicate);
  }
  </code></pre>
  
  <p>bar.c</p>
  
  <pre><code>#include "foo.h"
  // ...
  frobnicate();
  </code></pre>
  
  <p>So I think what will happen here is that the compiler will inline the call to <code>frobnicate</code> from bar.c, but in foo.c, it will actually have to create a function to implement <code>frobnicate</code>, so that it can have a working pointer to it.</p>
  
  <p>Can anyone confirm if my understanding is accurate, and correct me otherwise?</p>