Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>There is absolutely nothing reliable about the relationship between C++ code and what machine code a compiler generates. </p> <p>Some people say "in my experience ... etc. etc. etc." but this is more unreliable than you may realize. Not many people have actual experience in any substantial cross-section of all the possible compiler/architecture combinations. [Edit: I think that <a href="https://stackoverflow.com/users/53543/crashworks">Crashworks</a> proves me wrong though. :-)]</p> <p>Consider the following <a href="http://en.wikipedia.org/wiki/GNU_Compiler_Collection" rel="nofollow noreferrer">list of C++ compilers</a>:</p> <ul> <li>C++ Builder</li> <li>Turbo C++ Explorer</li> <li>C++ Compiler</li> <li>Borland C++</li> <li>Turbo C++ for DOS</li> <li>Clang</li> <li>Comeau C/C++</li> <li>CoSy compiler development system</li> <li>Digital Mars</li> <li>Djgpp</li> <li>EDGE ARM C/C++</li> <li>MinGW</li> <li>GCC C++ (G++)</li> <li>HP aC++</li> <li>Intel C++ Compiler</li> <li>Microtec</li> <li>MULTI</li> <li>Open Watcom</li> <li>Open64</li> <li>PathScale</li> <li>PGI Workstation</li> <li>ProDev WorkShop</li> <li>RealView C/C++ Compiler (armcc)</li> <li>SAS/C C++</li> <li>Sun Studio</li> <li>TenDRA</li> <li>VectorC</li> <li>Visual C++</li> <li>VisualAge C++</li> <li>XL C/C++</li> </ul> <p>Now multiply this list by the following <a href="http://en.wikipedia.org/wiki/GNU_Compiler_Collection" rel="nofollow noreferrer">short list of machine architectures</a>:</p> <ul> <li>ARM </li> <li>Atmel AVR </li> <li>Blackfin </li> <li>HC12 </li> <li>H8/300 </li> <li>IA-32 (x86) </li> <li>x86-64 </li> <li>IA-64 </li> <li>Motorola 68000 </li> <li>MIPS </li> <li>PA-RISC </li> <li>PDP-11 </li> <li>PowerPC </li> <li>R8C/M16C/M32C </li> <li>SPU </li> <li>System/390/zSeries </li> <li>SuperH </li> <li>SPARC </li> <li>VAX </li> <li>A29K </li> <li>ARC </li> <li>ETRAX CRIS </li> <li>D30V </li> <li>DSP16xx </li> <li>FR-30 </li> <li>FR-V </li> <li>Intel i960 </li> <li>IP2000 </li> <li>M32R </li> <li>68HC11 </li> <li>MCORE </li> <li>MMIX </li> <li>MN10200 </li> <li>MN10300 </li> <li>Motorola 88000 </li> <li>NS32K </li> <li>ROMP </li> <li>Stormy16 </li> <li>V850 </li> <li>Xtensa </li> <li>AVR32 </li> </ul> <p>Now multiply by operating system and optimization flags, and you may find that everyone's experience is woefully lacking.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload