title: changing extern function pointer to extern pointer using preprocessor
body: <p>I am using library that I shouldn't change it files, that including my h file.</p>
  <p>the code of the library looks somthing like like:</p>
  <pre><code>#include &quot;my_file&quot;
  extern void (*some_func)();
  void foo()
  {
      (some_func)();
  }
  </code></pre>
  <p>my problem is that I want that some_func will be extern function and not extern pointer to function (I am implementing and linking some_func). and that how main will call it.</p>
  <p>that way I will save little run time and code space, and no one in mistake will change this global.</p>
  <p>is it possible?</p>
  <p>I thought about adding in my_file.h somthing as
  <code>#define *some_func some_func</code>
  but it won't compile because asterisk is not allowed in #define.</p>
  <h2>EDIT</h2>
  <p>The file is not compiled already, so changes at my_file.h will effect the compilation.</p>