A useful resource on how to detect compilation environment based on predefined macros :
* last available version on the //Wayback Machine//: https://web.archive.org/web/20191011040139/http://nadeausoftware.com/articles/2011/12/c_c_tip_how_list_compiler_predefined_macros;
* original URL: http://nadeausoftware.com/articles/2011/12/c_c_tip_how_list_compiler_predefined_macros.
Other ressource : https://sourceforge.net/p/predef/wiki/Compilers/.
To list predefined preprocessor macros, ''echo | g++ -dM -E - | more'' can be used (''g++'' can be replaced by other //g(cc|%%++%%)//-like compiler.
For //emscripten// (based on //LLVM//), the above command (''echo | em++ ...'') displays macros which are stripped out. The ''%%__%%x86_64%%__%%'' macro, for example.
* [[./MinGW/]],
* [[./MSVC/|Visual C++]],
* [[./CLang/]],
* [[./Codeblocks/|Code::Blocks]].