title: stdcall and cdecl
body: <p>There are (among others) two types of calling conventions - <strong>stdcall</strong> and <strong>cdecl</strong>. I have few questions on them:</p>
  
  <ol>
  <li>When a cdecl function is called, how does a caller
  know if it should free up the stack ? At the call site, does the
  caller know if the function being called is a cdecl or a stdcall
  function ? How does it work ? How does the caller know if it should
  free up the stack or not ? Or is it the linkers responsibility ?</li>
  <li>If a function which is declared as stdcall calls a function(which
  has a calling convention as cdecl), or the other way round, would
  this be inappropriate ?</li>
  <li>In general, can we say that which call will be faster - cdecl or
  stdcall ?</li>
  </ol>