Ir ao conteúdo

Dúvida - Sobre #ifndef


Guilherme.D

Posts recomendados

Postado

Essa dúvida eu axoq é bem rápida, é só pra eu entender de fato como o comando #ifndef funciona exatamente, num arquivo .h lá da pasta de exemplos tem o seguinte:


#ifndef EXEMPLO_17_H
#define EXEMPLO_17_H "exemplo_017.h"

unsigned long long calcularFatorial (unsigned int);

#endif

A minha duvida é: eu acho que deveria ser -->


#define EXEMPLO_17_H "exemplo_017.h"
#ifndef EXEMPLO_17_H

unsigned long long calcularFatorial (unsigned int);

#endif

Ou seja, definir a macro antes de usar o comando...mas o estranho é que esse jeito faz o arquivo funcionar...por que isso? :confused: sei la, eu to confuso, meu prof. diz q ele faz isso pra definir o .h só se for necessario, mas eu nao entendi o porque disso!

Desde já agradeço

[]'s

Guilherme

Postado

O principal uso (que eu conheço) é:

#ifndef TESTE

#define TESTE

#include "teste.h"

#endif

Em projetos com muitos arquivos você pode incluir acidentalmente muitas vezes o mesmo arquivo, então você cria um "define" de controle-> se está definido é porque alguem já colocou em outro lugar, se não inclua agora e defina para que os outros saibam que já foi incluido.

Postado

aaaah ta, agora q eu entendi...

é isso mesmo que foi dito na aula,

parece meio bobo, mas não tava conseguindo lembrar, só tem uma pequena diferença...

no caso, oqq o professor fez, eu acho...é que ele fez isso no header direto, aí dessa forma não se precisa definir as macros toda vez que se usar #include

também funciona né?

brigadão amigo

  • 2 semanas depois...
Postado

Independete se está no aquivo .h ou .c, costuma-se usar.

Geralmente coloca-se no .h, pois nem sempre teremos o .c, mas sim uma biblioteca pré-compilada (.dll, .a, .so, .o, ...), impedindo assim que saibamos se ela já foi incluída ou não, sendo o contrário para o .h, onde teremos sempre acesso a ele de forma legível.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...