title: What makes the calling convention different?
body: <p>From my knowledge, the calling convention is depending on whether the platform is Windows or Linux.</p>
  <p>I wanna know,</p>
  <ol>
  <li>Compilers make the calling convention different.</li>
  <li>Platforms make the calling convention different.</li>
  </ol>
  <p>Which one is true?
  if only 2 is true, is the calling convention is defined by the platforms, and do the compilers just follow the defined convention?</p>