Torne seus programas portáveis e de fácil implementação .
Diversas vezes estamos desenvolvendo programas portáveis com C++ que precisamos criar um único código que funcione em diversas plataformas .
E para isso precisamos usar DIRETIVAS DE PRÉ PROCESSAMENTO: #ifdef, #if defined(), …
Nesse caso existem MACROS específicas para cada sistema operacional, por exemplo:
Se quiser detectar se o sistema é Linux, basta usar a macro: __linux__;
Se quiser verificar se é Windows, pode usar: _WIN32 .
Verificando se é Linux ou Windows
Abaixo um exemplo de um código C++ que roda em ambos sistemas operacionais e emite um “Hello, World!” conforme o sistema operacional:
No caso do Windows, você ainda pode criar outro #if dentro para detectar se:
_WIN64 , esse Windows é só 64-bit;
_WIN32 , ambos tanto 64-bit quanto 32-bit
__CYGWIN__ outra alternativa mais moderna.
Exemplo:
Verificando diversos sistemas operacionais
Você ainda pode detectar todos os sistema operacionais. Abaixo um outro exemplo que detecta, além de Linux e Windows, verifica também se é: macOS, FreeBSD, Android:
Você ainda pode verificar se é do tipo UNIX (Linux ou BSD, macOS NÃO): unix, __unix ou __unix__ .
Para uma lista completa de todas as macros para sistemas operacionais que você pode ver aqui .
Após cadastro e confirmação do e-mail, enviaremos semanalmente resumos e também sempre que houver novidades por aqui para que você mantenha-se atualizado!