Projeto multi arquivos *.C and *.h.

Para "abobrinhas" use o " Boteco"

Moderadores: andre_luis, 51, guest2003, Renie

Projeto multi arquivos *.C and *.h.

Mensagempor fabim » 19 Fev 2020 09:48

Dia pessoal!!

Estou eu aqui com um arquivo main.c gigante no CCS.

Estou a dois dias tentando entender como esse cara lida com diferentes arquivos.

Se eu separar as funções que acessam os periféricos do pic24, sou obrigado a incluir o prototipo *.h do core, porém o compilador reclama, pois, lá no main ja existe esse prototipo de processador.

Então eu crio um .h para esse .c e nesse .h incluo o prototipo, ai o erro muda, mas continua não funcionando; Inverto a lógica e o problema se mantem.

Tento usar a lógica do keil, usando o dito extern, e nada feito, ele não reconhece essa lógica.

Eu creio estar com vicios e por isso não estou conseguindo raciocinar corretamente como criar esse projeto.

Alguém pode me ajudar com isso?

/obrigado!
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Re: Projeto multi arquivos *.C and *.h.

Mensagempor eletroinf » 19 Fev 2020 10:22

O que eu posso te dizer é que esse compilador aí não segue a lógica tradicional do C, inclusive tem coisas como include arquivo.c e outras blasfêmias.
Se quer mesmo continuar usando ele e desdobrar o seu arquivo, vai precisar pesquisar sobre como fazer isso especificamente para o CCS, esquecendo o senso comum de C.
"De cada um segundo sua capacidade a cada um segundo sua necessidade."
Avatar do usuário
eletroinf
Word
 
Mensagens: 948
Registrado em: 12 Out 2006 14:59
Localização: Santa Maria - RS

Re: Projeto multi arquivos *.C and *.h.

Mensagempor fabim » 19 Fev 2020 12:31

eletroinf escreveu:O que eu posso te dizer é que esse compilador aí não segue a lógica tradicional do C, inclusive tem coisas como include arquivo.c e outras blasfêmias.
Se quer mesmo continuar usando ele e desdobrar o seu arquivo, vai precisar pesquisar sobre como fazer isso especificamente para o CCS, esquecendo o senso comum de C.

Rapaiz, nem me fale, mas essa porqueira é usada pela empresa a 12 anos e as duas licensas são validas, direto os ohmi tão aqui escafunchando tudo e procurando coisas erradas..

Então, é o que temos para o almoço...

Pena, nem vou mais me preocupar com isso, vou fazer um arquivo gigante mesmo!!! rsrsrs
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Re: Projeto multi arquivos *.C and *.h.

Mensagempor milordy » 19 Fev 2020 13:37

fabim escreveu:
eletroinf escreveu:O que eu posso te dizer é que esse compilador aí não segue a lógica tradicional do C, inclusive tem coisas como include arquivo.c e outras blasfêmias.
Se quer mesmo continuar usando ele e desdobrar o seu arquivo, vai precisar pesquisar sobre como fazer isso especificamente para o CCS, esquecendo o senso comum de C.

Rapaiz, nem me fale, mas essa porqueira é usada pela empresa a 12 anos e as duas licensas são validas, direto os ohmi tão aqui escafunchando tudo e procurando coisas erradas..

Então, é o que temos para o almoço...

Pena, nem vou mais me preocupar com isso, vou fazer um arquivo gigante mesmo!!! rsrsrs

Faz uns 3 anos que não utilizo mais CCS,na epoca eu integrava com MPLABX,pq editor do CCS era muito ruim,para utilizar varios arquivos,o jeito era ter apenas 1 ".C",e o resto tudo ".H" ,no ".H" colocava o que seria do próprio ".H" e do ".C",não é modo correto de usar em C,porém era muito melhor que um arquivo muito grande e sempre utiliza #ifndef para pode chamar em todo os arquivos necessários sem ter erro na hora de compilar.
#ifndef NOMEDOARQUIVO_H
#define NOMEDOARQUIVO_H
//CODIGO AQUI DO .H e do .C
#endif
milordy
Nibble
 
Mensagens: 63
Registrado em: 26 Fev 2015 12:48

Re: Projeto multi arquivos *.C and *.h.

Mensagempor xultz » 19 Fev 2020 17:27

Fábio, meu último projeto que fiz com CCS (há uns 5 anos atrás) eu dividi ele em vários arquivos, mas daquele jeito CCSzado de ser.
Fiz assim:
Criei as funções que precisava, e quando achava que tava na hora de juntar várias em outro arquivo, criava um arquivo .h e um .c
No arquivo .c eu colava as funções, e no arquivo .h eu colocava os protótipos das funções, e no final fazia um #include do arquivo .c
E no arquivo principal, fazia um #include desse .h
É muito importante que cada função tenha nome único (não dá prá ter duas funções com mesmo nome de jeito nenhum, enquanto num compilador que preste existe esta possibilidade), e eu criei mais um arquivo .c declarando as variáveis globais (que tive que usar muitas, já que o conceito de extern fica sem nexo se você faz um include de um arquivo .c)

O resultado é uma gambiarra horrível, porque pro compilador acaba virando um arquivo .c somente, mas na hora de gerenciar o código-fonte, pelo menos tá tudo separado em vários arquivos.
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba


Voltar para Assuntos Gerais

Quem está online

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

x