Pregunta

¿Qué macroses están predefinidos para C Programms por GCC compilador que se ejecutan en diferentes procesadores SPARC. OS es el Linux.

Entonces, ¿cómo puedo distinguir entre UltraSPARC, SuperSPARC, Cataratas, SPARC64, etc en tiempo de compilación.

Gracias

¿Fue útil?

Solución 2

Tome una mirada en especificaciones de GCC:

 gcc -dumpspecs

... salto ...

%{msoft-float:-D_SOFT_FLOAT} %{mcypress:} %{msparclite:-D__sparclite__} %{mf930:-D__sparclite__} %{mf934:-D__sparclite__} %{mv8:-D__sparc_v8__} %{msupersparc:-D__supersparc__ -D__sparc_v8__} %{mcpu=sparclet:-D__sparclet__} %{mcpu=tsc701:-D__sparclet__} %{mcpu=sparclite:-D__sparclite__} %{mcpu=f930:-D__sparclite__} %{mcpu=f934:-D__sparclite__} %{mcpu=v8:-D__sparc_v8__} %{mcpu=supersparc:-D__supersparc__ -D__sparc_v8__} %{mcpu=hypersparc:-D__hypersparc__ -D__sparc_v8__} %{mcpu=sparclite86x:-D__sparclite86x__} %{mcpu=v9:-D__sparc_v9__} %{mcpu=ultrasparc:-D__sparc_v9__} %{mcpu=ultrasparc3:-D__sparc_v9__} %{mcpu=niagara:-D__sparc_v9__} %{mcpu=niagara2:-D__sparc_v9__} %{!mcpu*:%{!mcypress:%{!msparclite:%{!mf930:%{!mf934:%{!mv8:%{!msupersparc:%(cpp_cpu_default)}}}}}}}

Hay una lista de reconocido mcpu de la lista de macroses -D.

Y la siguiente es

%{mcpu=sparclet:-Asparclet} %{mcpu=tsc701:-Asparclet} %{msparclite:-Asparclite} %{mf930:-Asparclite} %{mf934:-Asparclite} %{mcpu=sparclite:-Asparclite} %{mcpu=sparclite86x:-Asparclite} %{mcpu=f930:-Asparclite} %{mcpu=f934:-Asparclite} %{mv8plus:-Av8plus} %{mcpu=v9:-Av9} %{mcpu=ultrasparc:%{!mv8plus:-Av9a}} %{mcpu=ultrasparc3:%{!mv8plus:-Av9b}} %{mcpu=niagara:%{!mv8plus:-Av9b}} %{mcpu=niagara2:%{!mv8plus:-Av9b}} %{!mcpu*:%{!mcypress:%{!msparclite:%{!mf930:%{!mf934:%{!mv8:%{!msupersparc:%(asm_cpu_default)}}}}}}}

para traducir -mcpu a -A

Espero que esto ayude

Otros consejos

La forma más fácil de averiguarlo es para probarlo, por ejemplo:.

$ gcc <whatever you need to specify first CPU> -dM -E - < /dev/null &> cpu1.txt
$ gcc <whatever you need to specify second CPU> -dM -E - < /dev/null &> cpu2.txt
$ sdiff -s cpu1.txt cpu2.txt
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top