[C con Clase] Programacion/compilación selectiva segun SO

Jorge Vega Sanchez memmaker650 en gmail.com
Vie Nov 27 12:10:41 CET 2009


Buenas

Estoy empezando a trabajar con programación de 64 bits y leyendo unos  
cuantos papers estoy viendo que algunas arquitecturas tiene  
operaciones/optimizaciones especiales para estas operaciones. Mientras  
que las máquinas de 32 bits lo hacen de otra manera. Esto también  
cambia segun usamos Windows o sistemas basados en UNIX en como  
representar estos datos.

Primero estoy empezando con cosas muy sencillitas para luego ir  
complicando las cosas. Me gustaría saber si es posible programa zona  
para segun el sistema operativo. Es decir, como si estamos en windows  
que se compile usando esto y si estamos en Linux o Mac use esto otra  
forma.

He mirado algo sobre ·ifdef y demás pero no me queda muy claro

COIDIGO DE EJEMPLO --> SUMA DE DOS NUMEROS DE 64 BITS Y REPRESENTACION  
DE LA SOLUCION POR PANTALLA --> EN MAC

#include <iostream> // Esta biblioteca permite el uso de cout(<<) y de  
cin(>>)

using namespace std;

int main()
{
     long long op1, op2, sol;

#ifdef defined X86_64

     op1=0x00FF00AA;
     op2=0x10203402;
     sol=op1+op2;
     printf("Solucion suma de 64 bits igual a %llu \n",sol);
     // En Windows
     printf("Solucion suma de 64 bits igual a %"PRIu64" \n",sol);
     //Otra opción es esta "%I64d

#endif /* X86_64 */
     return 0;
}


Gracias de antemano.



Más información sobre la lista de distribución Cconclase