Página 1 de 1

Extensão .h e .c

MensagemEnviado: 19 Dez 2013 22:41
por vtrx
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?

Re: Extensão .h e .c

MensagemEnviado: 19 Dez 2013 23:15
por andre_luis
O seu aplicativo criou o conteúdo da variável referente á imagem.
Particularmente, eu prefiro colocar no H.


+++

Re: Extensão .h e .c

MensagemEnviado: 19 Dez 2013 23:46
por vtrx
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.

Re: Extensão .h e .c

MensagemEnviado: 20 Dez 2013 00:45
por cfreund
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.

Re: Extensão .h e .c

MensagemEnviado: 20 Dez 2013 12:38
por Red Neck Guy
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.

Re: Extensão .h e .c

MensagemEnviado: 20 Dez 2013 14:34
por vtrx
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.

Re: Extensão .h e .c

MensagemEnviado: 24 Dez 2013 13:08
por RobL
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!