Título: cabeceras Publicado por: XKC en 27 Junio 2017, 14:18 pm Hola a todos, estoy mirando cosillas por github y tengo dudas con algunas cosas.
Os dejo el link: https://github.com/graniet/fsociety-ransomware-MrRobot/tree/master/source Alguien me puede explicar este fragmento de codigo? Código: #if defined(WIN32) || defined(_WIN32) || defined(__WIN32) && !defined(_CYGWIN_) //Por que tantas comprobaciones, no valdria solo defined(win32)?? Código: /* Título: Re: cabeceras Publicado por: MAFUS en 27 Junio 2017, 14:37 pm Las primera comprobación es larga porqué debe preveer todas las distintas formas en que las APIs definen código para Windows y que no formen parte de Cygwin que recrea un entorno Linux dentro de windows.
El WIN32_WINNT es un símbolo para que las APIs activen, en durante la compilación condicional, ciertas funciones y tipos de datos. Sobre la ruta que marcas sí, es una ruta *nix y no, no funciona con windows (pero sí bajo cygwin) Lo último es la compilación condicional que compilará una cosa si está definido el símbolo win32 o el otro si no lo está (por ser otro S.O.) Título: Re: cabeceras Publicado por: XKC en 27 Junio 2017, 14:57 pm Las primera comprobación es larga porqué debe preveer todas las distintas formas en que las APIs definen código para Windows y que no formen parte de Cygwin que recrea un entorno Linux dentro de windows. osea, que este codigo esta reparado para compilarse bajo cualquier entorno.El WIN32_WINNT es un símbolo para que las APIs activen, en durante la compilación condicional, ciertas funciones y tipos de datos. Sobre la ruta que marcas sí, es una ruta *nix y no, no funciona con windows (pero sí bajo cygwin) Lo último es la compilación condicional que compilará una cosa si está definido el símbolo win32 o el otro si no lo está (por ser otro S.O.) ¿Si solo quisieras utilizarlo sobre windows bastaria con omitir todas las comprobaciones de las API ? Otra cosa, como funciona esto sobre entornos windows si la ruta es *nix? Gracias por tu respuesta. |