Extensão .h e .c

Programação C em geral

Moderadores: 51, guest2003

Extensão .h e .c

Mensagempor vtrx » 19 Dez 2013 22:41

Fiz um aplicativo para criar aquivos .h ou .c ,gerados apartir de imagens BMP e decodificação própria para TFT 320x240.
NA prática existe alguma diferença,ja que o conteudo dos arquivos são bytes em hexa,entre a geração de um arquivo .h e outro .c?
Neste caso seria 'perfumaria' ja que que os compiladores podem carregar os dois tipos?
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Re: Extensão .h e .c

Mensagempor andre_luis » 19 Dez 2013 23:15

O seu aplicativo criou o conteúdo da variável referente á imagem.
Particularmente, eu prefiro colocar no H.


+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Extensão .h e .c

Mensagempor vtrx » 19 Dez 2013 23:46

Na hora de salvar o conteudo existe a escolha,mas como o conteudo não muda,é apenas uma questão de escolher a extensão,então posso finalizar o aplicativo ja que não existe outro detalhe.
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Re: Extensão .h e .c

Mensagempor cfreund » 20 Dez 2013 00:45

Não me lembro em qual documento sobre otimização eu li sobre isso, mas se não me engano é o seguinte:

Se for utilizar a variável em mais de um .c, coloque no .h ou faça declaração c/ extern. Caso contrário, coloque no .c definido como static.

Eu, particularmente, utilizaria um .h adicional para esse tipo de dados. Já que não é necessário manipular isso, então que fique escondido.
Cláudio F
Avatar do usuário
cfreund
Word
 
Mensagens: 672
Registrado em: 14 Out 2006 14:02
Localização: São Paulo

Re: Extensão .h e .c

Mensagempor Red Neck Guy » 20 Dez 2013 12:38

Por recomendações de boas práticas de programação, nos headers não deve haver declaração de variáveis ou constantes, dessa forma devem ser declarado dentro do arquivo C a constante e caso sua referenciação seja global, jogar no arquivo H o extern const minha_constante.
ASM51 descanse em paz!
Avatar do usuário
Red Neck Guy
Dword
 
Mensagens: 1968
Registrado em: 12 Out 2006 22:24

Re: Extensão .h e .c

Mensagempor vtrx » 20 Dez 2013 14:34

Por recomendações de boas práticas de programação, nos headers não deve haver declaração de variáveis ou constantes, dessa forma devem ser declarado dentro do arquivo C a constante e caso sua referenciação seja global, jogar no arquivo H o extern const minha_constante

Eu tive que usar um .H de imagem ja pronto,mas como o algoritimo da função que usa estes dados foi feita para 24 bits,eu fiz outra rotina para 16 bits e tive que fazer o aplicativo para gerar os dados.
No .h que analisei,no fundo existem as variaveis globais com o tamanho dos bytes,no meu aplicativo e deixo o usuario decedir se estas variaveis devem ser gravadas ou não.
Eu sempre vejo dados em arquivos .C.
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Re: Extensão .h e .c

Mensagempor RobL » 24 Dez 2013 13:08

Por recomendações de boas práticas de programação, nos headers não deve haver declaração de variáveis ou constantes, dessa forma devem ser declarado dentro do arquivo C


O lembrete não é propriamente para o Aquino que está cansado de saber isso, além dele ser meu professor em c, mas sim para os iniciantes.

Grande Aquino, verifique se por engano não trocou as bolas:

Declaração é feita no header.
Definições no .c .

Suponho que deveria ser : "nos headers não deve definir (em vez de declarar)...

Quando se declara, apenas informamos ao "compilador" que em algum lugar vamos definir uma variável, conforme anunciada, e ao definir, o "compilador" vai atribuir valores na memo. Por exemplo, no .h podemos declarar uma struct que só vai ser criada de fato na memória quando for definida, normalmente em um .c .

Por outro lado, C é uma questão de estilo. Há quem declare uma variável como extern no arquivo fonte e a defina em outro arquivo fonte.
Outros preferem definir uma var em um arquivo fonte e ao usar em outros arquivo fonte, declarar com extern no seu header do fonte associado.
Há linguagem que não usam arquivos header e quem quiser, poderia fazer tudo no fonte, sem .h, uma erezia para os puristas do C. Prefiro usar os headers para declarações ficarem organizadas, fácil leitura e busca.

Definição e Declaração: Chato é o cara que escreve essas baboseiras só pra mostrar que pensa que sabe algo!
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56


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

Quem está online

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

x