Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Deteccion de SO

Estas en el tema de Deteccion de SO en el foro de C/C++ en Foros del Web. Hola a todos! Quería saber si hay alguna manera en C mediante la cual detectar el sistema operativo del ordenador en el que se está ...
  #1 (permalink)  
Antiguo 02/12/2009, 07:35
Avatar de calathea  
Fecha de Ingreso: octubre-2008
Ubicación: Valladolid
Mensajes: 122
Antigüedad: 15 años, 6 meses
Puntos: 3
Deteccion de SO

Hola a todos!

Quería saber si hay alguna manera en C mediante la cual detectar el sistema operativo del ordenador en el que se está ejecutando el código. Y en función de la información que obtenga ya poder decidir qué es lo que quiero que se ejecute.

Gracias de antemano, un saludo
  #2 (permalink)  
Antiguo 04/12/2009, 03:16
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Deteccion de SO

No y ademas vas a tener que COMPILAR tu programa para cada S.O. sino no funcionara, tienen distintos formatos de ejecutable (PE, ELF, etc.).

Lo que si se suele hacer es compilacion condicional, ej.:

Código:
#if defined(WINDOWS)
//codigo
#elif defined(LINUX)
//codigo
#endif
Referencia.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 04/12/2009, 10:52
Avatar de calathea  
Fecha de Ingreso: octubre-2008
Ubicación: Valladolid
Mensajes: 122
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: Deteccion de SO

Muchas gracias. Probaré con lo que me has comentado de la compilación condicional y te cuento los resultados en cuanto pueda probarlo con varios S.O.
  #4 (permalink)  
Antiguo 04/12/2009, 11:39
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Deteccion de SO

De nadas
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:36.