Usando o pré-processador - básico

Publicado por Douglas - Brasilvision em 13/11/2004

[ Hits: 6.634 ]

 


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:

#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; }
Outras dicas deste autor

Exemplo prático do uso de C+Assembly

Leitura recomendada

Assembly inline no GCC com sintaxe Intel

Compilando arquivos EXE no Ubuntu

Livro de programação de jogos Linux de graça

Porque fgets() ao invés de gets()

Sobrecarga de Operadores em C++

  

Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts