An implementation here means a combination of a compiler (e.g. gcc, msvc, etc.), a standard library (says which features are included in the language), an operating system (Windows, Mac, etc.) and (Intel, ARM, etc.). d.).
Depending on the implementation, certain values ββare defined that the compiler uses to create implementation-specific object code. for instance
__TARGET_ARCH_ARM is defined by RealView
_M_ARM is defined by Visual Studio
to determine the CPU manufacturer.
In short, these provisions are designed to discourage the use of macros of the specified format.
, n3797- > 17.6.5.3 , , :
#if preprocessing, .
:
#ifndef _M_ARM
#define _M_ARM
#endif
, , , . , __arm__ gcc .