title: How can C code call an external function without a leading underscore?
body: <p>Suppose I have a dylib (not written by me) that exports a function "Foo".  If I declare it as</p>
  
  <pre><code>extern "C" void Foo(void);
  </code></pre>
  
  <p>and try to call it, I get a linker error saying that <code>_Foo</code> is missing.  How can I deal with this without modifying the dylib?  Maybe some obscure linker flag, or Clang markup on the declaration, to make it not expect the underscore?</p>