proex escreveu:Alguém poderia me explicar a diferença entre EXTERN e extern?
.
#ifdef NOMEDOARQUIVO_C
#define EXTERN
#else
#define EXTERN extern
#endif
andre_teprom escreveu:Exatamente, tenho visto muita coisa parecida com isso:
- Código: Selecionar todos
#ifdef NOMEDOARQUIVO_C
#define EXTERN
#else
#define EXTERN extern
#endif
+++
Rodrigo_P_A escreveu:eu só num entendo ainda pq isso. A maioria dos compiladores que trabalho num precisa ficar fazendo isso, mesmo que você inclua o arquivo header com as declarações extern no código fonte em C ele num reclama de nada, então num precisa ficar fazendo isso.
proex escreveu:Agora sim entendi a finalidade.
.
cfreund escreveu:barboza, como o compilador vai diferenciar o source?
-------------------------------------------------------------------
Simples né... basta um #define antes do #include.... Não tinha parado pra pensar. Sorry.
#define nomearquivo_c
#include arquivo.h
static tipoy vary;
static void localprocedure(void);
void main(void)
{
vary = 0;
varx = 0;
localprocedure();
publicprocedure();
}
static void localprocedure(void)
{
}
void publicprocedure(void)
{
}
#ifdef nomearquivo_c
#define PUBLIC
#else
#define PUBLIC extern
#endif
PUBLIC typox varx;
void publicprocedure(void);
Voltar para Visual C++/C/C++/C#
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante