title: OpenMP methods in C
body: <p>I was playing around with OpenMP and came across the following 2 methods: <code>omp_get_num_threads()</code> and <code>omp_get_num_procs()</code>. I tried them using just plain C, without the OpenMP directives and even without <code>#include &lt;omp.h&gt;</code>:</p>
  
  <pre><code>int main ()
  {
      int t, p;
  
      t = omp_get_num_threads();
      p = omp_get_num_procs();
  
      printf("Number of threads = %d\n", t);
      printf("Number of processors = %d\n", p);
  }
  </code></pre>
  
  <p>Nevertheless I got the expected result:</p>
  
  <pre><code>Number of threads = 1
  Number of processors = 4
  </code></pre>
  
  <p>As those methods both start with <code>opm</code> I assume these are OpenMP methods and are unknown in C. How come they deliver the right result even outside of OpenMP?</p>