#define (Linguagem C)

[quote]Um outro uso da diretiva #define é o de simplesmente definir uma macro.
Neste caso usa-se a seguinte forma geral:
#define nome_da_macro
Neste caso o objetivo não é usar a macro no programa (pois ela seria
substituída por nada), mas, sim, definir uma macro para ser usada como uma
espécie de flag. Isto quer dizer que estamos definindo um valor como sendo
"verdadeiro" para depois podermos testá-lo.[/quote]

alguém entendeu?
exemplo pra ilustrar?

parece q essa citação se refere a algum trecho de código, e sem esse código a qual ela se refere é difícil entender, poste o código, o link, diga qual era o contexto em que vc tirou isso, ajudaria bastante…

flw, t+

não se refere a nenhum código… =/

por isso q não consegui entender.
sem um exemplo fica difícil…

mas se alguém conseguir entender… favor explicar =]

#define LINUX

int main() {
#ifdef LINUX
    printf("Isso é um programa Linux");
#else
    printf("Isso não é um programa Linux");
#endif
}

Assim se vc quiser compilar p/ diferentes plataformas basta mudar ou remover a macro.

Um uso comum é para impedir que um header seja importado duas vezes:

Arquivo seuheader.h

[code]
ifndef SEUHEADER_H //Apenas compile o código abaixo se não foi definido SEUHEADER_H

#define SEUHEADER_H //Define SEUHEADER_H

//Código do cabeçalho aqui

#endif[/code]

O define assim é diferente de definir uma macro de substituição sintática, como:
#define if se

Pois não há substituição de texto. A idéia é só usar o #if e #ifndef para testar se a macro existe ou não, e alterar a compilação de acordo. Isso chama-se compilação condicional.