Diferença entre EXTERN e extern

Programação C em geral

Moderadores: 51, guest2003

Re: Diferença entre EXTERN e extern

Mensagempor Rodrigo_P_A » 17 Mai 2014 19:33

cfreund escreveu:Também faço dessa forma. Mas a idéia é interessante para programas complexos.


o framework qt e o linux são alguns exemplos de programas escritos dessa forma, e são considerados projetos complexos, pelo menos para mim :)
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2237
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Re: Diferença entre EXTERN e extern

Mensagempor cfreund » 17 Mai 2014 19:33

Facilita quando for necessário alterar o nome da variável. :mrgreen:
Cláudio F
Avatar do usuário
cfreund
Word
 
Mensagens: 672
Registrado em: 14 Out 2006 14:02
Localização: São Paulo

Re: Diferença entre EXTERN e extern

Mensagempor cfreund » 17 Mai 2014 19:36

Rodrigo,

Não é regra. E sim, um atalho. Pode ser bem vindo em algumas situações.

Mesmo na forma que trabalhamos, não estamos violando nenhuma cartilha.
Cláudio F
Avatar do usuário
cfreund
Word
 
Mensagens: 672
Registrado em: 14 Out 2006 14:02
Localização: São Paulo

Re: Diferença entre EXTERN e extern

Mensagempor Rodrigo_P_A » 17 Mai 2014 19:40

no caso de alterar o nome simplifica mesmo a declaração, mas aí você teria que alterar em todo seu projeto hehehe :)
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2237
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Re: Diferença entre EXTERN e extern

Mensagempor cfreund » 17 Mai 2014 19:55

Kkkkkkk pensei q ninguém iria perceber.
Cláudio F
Avatar do usuário
cfreund
Word
 
Mensagens: 672
Registrado em: 14 Out 2006 14:02
Localização: São Paulo

Re: Diferença entre EXTERN e extern

Mensagempor barboza » 18 Mai 2014 10:43

proex escreveu:Eu tambem faço assim como o Rodrigo falou.

Pra que complexar? :D

.


barboza escreveu:É porque assim, a variavél fica declarada e publicada na mesma linha de código.
Os homens mentiriam muito menos se as mulheres fizessem menos perguntas.
Avatar do usuário
barboza
Word
 
Mensagens: 948
Registrado em: 17 Out 2006 13:42
Localização: Longe de onde gostaria de estar

Re: Diferença entre EXTERN e extern

Mensagempor RobL » 22 Mai 2014 10:30

Como vocês sabem esta técnica é usada em grandes programas para evitar recursividade. Porém gera problema para inicializar as variáveis e portanto é necessário inicializar no header.

O importante no EXTERN é que foi definido um nome nulo "caractere de terminação" \0.
Portanto, quando o EXTERN entrar na frente de qualquer proposição, não altera nada, mas serve para o desvio condicional sem alterar o que vem escrito apos.
O nome poderia ser qualquer:
Código: Selecionar todos
#define ABOBORA

Note que abobora é vazio.
diferente de :
Código: Selecionar todos
#define ABOBORA   valor
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Re: Diferença entre EXTERN e extern

Mensagempor polesapart » 23 Jul 2014 12:01

Já ouviu falar que preguiçoso trabalha dobrado? Esse caso de usar ifdefs parece pior: você trabalha dobrado à vista. Assim você declara as variáveis num local só, e se alterar o tipo (por exemplo), faz num local só. Só que a custa dessa salada. Se tiver mil arquivos e for usar isso, é um bocado de trabalho inicial. Na prática, você raramente altera os tipos de variáveis. E se renomeá-las, vai ter que editar em vários arquivos mesmo.

Hoje em dia, com IDEs que fazem análise de código, qualquer rename/type change pode ser refletida em todos os arquivos com uma única ação, então particularmente eu não perderia tempo adotando esse padrão hehe. Mesmo sem isso da pra fazer project-wide-find-and-replace-whole-word-type-sensitive e dá certo em 99,9% dos casos.
Warning: time of day goes back (-163479us), taking countermeasures. :)
Avatar do usuário
polesapart
Byte
 
Mensagens: 477
Registrado em: 19 Nov 2007 12:56
Localização: Curitiba

Anterior

Voltar para Visual C++/C/C++/C#

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x