title: What are the differences between the GNU and MSVC Rust toolchain?
body: <p>The documentation states:</p>
  
  <blockquote>
    <p>Which version of Rust you need depends largely on what C/C++ libraries you want to interoperate with: for interop with software produced by Visual Studio use the MSVC build of Rust; for interop with GNU software built using the MinGW/MSYS2 toolchain use the GNU build.</p>
  </blockquote>
  
  <p>What exactly are those differences?</p>
  
  <ol>
  <li><p>Is it just about interoperability with the MSVC compiled binaries?</p></li>
  <li><p>Does it affect the linking or does Rust or LLVM provide their own linker?</p></li>
  <li><p>I know Rust uses LLVM as their backend, will choosing between the two affect code generation?</p></li>
  </ol>