title: How do I write a character to standard output in C without using stdio.h or any other library header files?
body: <p><code>putchar(char)</code> writes a character to standard output and is normally provided by <code>stdio.h</code>.</p>
  
  <p>How do I write a character to standard output <em>without</em> using <code>stdio.h</code> or any other standard library file (that is: <em>no</em> <code>#include</code>:s allowed)?</p>
  
  <p>Or phrased different, how do I implement my own <code>putchar(char)</code> with zero <code>#include</code> statements?</p>
  
  <p>This is what I want to achieve:</p>
  
  <pre><code>/* NOTE: No #include:s allowed! :-) */ 
  
  void putchar(char c) {
    /*
     * Correct answer to this question == Code that implements putchar(char).
     * Please note: no #include:s allowed. Not even a single one :-)
     */
  }
  
  int main() {
    putchar('H');
    putchar('i');
    putchar('!');
    putchar('\n');
    return 0;
  }
  </code></pre>
  
  <p>Clarifications:</p>
  
  <ul>
  <li>Please note: No <code>#include</code>:s allowed. Not even a single one :-)</li>
  <li>The solution does <em>not</em> have to be portable (inline assembler is hence OK), but it must compile with gcc under MacOS X.</li>
  </ul>
  
  <p>Definition of correct answer:</p>
  
  <ul>
  <li>A working <code>putchar(char c)</code> function. Nothing more, nothing less :-)</li>
  </ul>