Detectar la arquitectura de la CPU en tiempo de compilación

¿Cuál es la forma más confiable de averiguar la arquitectura de la CPU al compilar código C o C ++? Por lo que sé, diferentes compiladores tienen su propio conjunto de definiciones de preprocesadores no estándar (_M_X86 en MSVS,__i386__, __arm__ en GCC, etc).

Hay unestándar ¿Cómo detectar la arquitectura para la que estoy construyendo? Si no es así, ¿hay una fuente para una lista completa de tales definiciones para varios compiladores, como un encabezado con todo el contenido?#ifdefs?

Respuestas a la pregunta(6)

Su respuesta a la pregunta