title: What's the meaning of dash when use gcc -x c
body: <p>Run the following command in linux bash:</p>
  
  <p><code># echo 'main() { __asm__("xorb %al, %al"); }' | gcc -x c -</code></p>
  
  <p><strong>Q1</strong>: What's the meaning of the last <code>-</code> ?</p>
  
  <p><strong>Q2</strong>: Whether the <code>-</code> is a parameter of <code>gcc</code> or <code>shell</code> ?</p>
  
  <p>Another <code>--</code> when use cmake</p>
  
  <p><code># cmake --build ./build-cmake/Debug/obj --target processor_benchmark -- -j4</code></p>
  
  <p><strong>Q3</strong>: What's the meaning of <code>--</code> before <code>-j4</code> ?</p>