elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Saber que SO tiene la maquina a trabajar
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Saber que SO tiene la maquina a trabajar  (Leído 1,939 veces)
Why Aret

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Saber que SO tiene la maquina a trabajar
« en: 8 Marzo 2017, 23:44 pm »

buenas!, estoy programando una app en c pero quisiera saber el sistema operativo donde se ejecute la app antes de comenzar, alguno ya tuvo experiencia en esto?
seria de mucha ayuda ya que google por un buen rato, de antemano gracias!  :silbar:


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Saber que SO tiene la maquina a trabajar
« Respuesta #1 en: 8 Marzo 2017, 23:58 pm »

Si compilas para Windows, pues tendrás que compilar para Windows. Si compilas para Unix, pues lo mismo. Los programas compilados rara vez podrán ser ejecutados en múltiples sistemas operativos (salvando alguna excepción, como Wine)

Por tanto, una aplicación ya compilada tiene commo destino 1 sistema operativo genralmente.

Si vas a compilar para varios, entonces puedes usar directivas del preprocesador tipo:

Código
  1. #ifdef _WIN32
  2.    const char* SO = "Windows";
  3. #else
  4.    const char* SO = "Otro";
  5. #endif

Aquí tienes una lista de macros definidos para cada sistema operativo: https://sourceforge.net/p/predef/wiki/OperatingSystems/

Si bien no es estándar, en la mayoría de compiladores importantes los verás definidos.


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Saber que SO tiene la maquina a trabajar
« Respuesta #2 en: 8 Marzo 2017, 23:59 pm »

simple si es windows y el ejecutable está hecho para mac os o para linux no correrá, igual para los otros casos...

si estás en windows, tienes esto
https://msdn.microsoft.com/en-us/library/windows/desktop/ms724429(v=vs.85).aspx

si es linux algo de esto
http://stackoverflow.com/questions/6315666/c-get-linux-distribution-name-version

En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Que valores inequivocos e irrepetidos tiene cada maquina?
Seguridad
astinx 5 2,995 Último mensaje 9 Marzo 2012, 00:59 am
por astinx
Cómo saber cual es el exploit apropiado de la maquina que se va atacar ?
Hacking
Pr0xyH4ck 1 2,728 Último mensaje 4 Septiembre 2015, 20:12 pm
por r32
¿como puedo saber si mi windows tiene licencia original o tiene un crack?
Windows
gomez morgan 5 7,711 Último mensaje 29 Diciembre 2016, 18:34 pm
por gomez morgan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines