Pular para o conteúdo

Usando o pré-processador - básico

Dica publicada em C/C++ / Avançado
Douglas - Brasilvision doug_cpp
Hits: 7.872 Categoria: C/C++ Subcategoria: Avançado
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Usando o pré-processador - básico

Este é um pequeno exemplo de como usar o pré-processador da linguagem para que o programa fique portátil, mesmo com funções diferentes entre DOS e Linux:

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
#include <stdio.h>

if defined(dos)
#define frase "MS-DOS"

#elif defined(linux)
#define frase "Linux"

#elif !defined(frase)
#error Compile usando gcc -Dxxx prog.c !!!

#endif


int main () { puts(frase); return 0; }
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Exemplo prático do uso de C+Assembly

Compilando arquivos EXE no Ubuntu

Porque fgets() ou gets()??

Usando o realloc

Eclipse Plugin para C/C++

movfuscator - Compilador de uma única instrução Assembly

#1 Comentário enviado por fabio em 13/11/2004 - 00:49h
Caramba, muito louca essa dica heim. Curti!

[]'s
#2 Comentário enviado por jllucca em 13/11/2004 - 02:34h
Otima contribuição,

um exemplo de projeto que utilizo preprocessador pra definir atitudes é o Agenda Pessoal Multiplataforma ( http://agendapessoal.codigolivre.org.br/ ) de um conhecido meu. Infelizmente, não gosto muito da forma como ele faz as coisas. Mas, é um exemplo útil :)

Outra forma de escrever "#if defined(dos)" é "#ifdef dos".

[]'s
#3 Comentário enviado por doug_cpp em 13/11/2004 - 23:45h
Valeu, pessoal!
É bom receber elogio da ELITE!

Iniciei com "Usando o pre-processador - Básico", pois tenho a intenção de colocar novas dicas de Pré-processador avançado. Só que antes, eu queria ver se a dica seria aprovada.

Grande abraço!
Douglas
#4 Comentário enviado por ricardo_fac em 28/12/2006 - 17:18h
Muito bom artigo!

utilizei no Unix e funciona apenas alterando o parametro.

#elif defined(unix)
#define frase "UNIX"

Valeu
Ricardo Facio
#5 Comentário enviado por f_Candido em 29/10/2007 - 00:37h
Excelente dica. Fica bastante portável o código.

Contribuir com comentário

Entre na sua conta para comentar.