Como é organizado o codigo em linguagens estruturados (ex: C)?
8 respostas
faeldix
Então… nunca criei nada em linguagem C… so aquelas coisas na faculdade e tal… mas sempre algo muito pequeno…
Mas um programa bem grande… como ele é feito?
Como é organizado os ‘packages’??? e as ‘interfaces’??? Ou seja como organizar melhor o codigo pra que a manutenção seja mais facil?
Tava vendo um codigo de um player que eu utilizo no ubuntu chamado AUDACIOUS e por la pude ver como é feito… so que ficou uma duvida… onde é o ‘ponto inicial’ da aplicação? Ela fica em ‘loop’???
O ponto de entrada de uma aplicação C é a função int main(). A organização é feita através de funções e tipos de dados, não existe o conceito de pacote ou namespace na linguagem C.
faeldix
sim… mas onde eu coloco algo como:
main.c
E
entanglement
O linker localiza um método global cujo nome é “main” dentro dos arquivos objetos (.obj no caso do Windows, .o no caso do Unix/Linux) e indica que ele é o ponto de entrada do programa.
Se houver mais que um método “main” o programa não pode ser link-editado.
E
entanglement
Se você definir o método “main” como static ele não ficará disponível para o linker dizer que ele é o ponto de entrada.
No caso do Windows é possível você ter um executável onde o ponto de entrada se chama “WinMain”. Nesse caso o .exe é especial (provavelmente terá uma tela gráfica).
E
ericotemp
Estrutura geral.
arquivo principal contendo função main()
chamada de outras funções
fim do programa
A estrutura normal é em loop.
Mas a dúvida para alguém como eu que começou em linguagens estruturadas e depois partiu para OO, é bastante curiosa.
Paradigmas diferentes.
J
juliocbq
ericotemp:
Estrutura geral.
arquivo principal contendo função main()
chamada de outras funções
fim do programa
A estrutura normal é em loop.
Mas a dúvida para alguém como eu que começou em linguagens estruturadas e depois partiu para OO, é bastante curiosa.
Paradigmas diferentes.
Por isso eu sou contra a grade de java e linguagens orientadas a objeto para início de aprendizado e estudo. O aluno perde completamente a noção de como um processador funciona.
faeldix
Na verdade eu ja programei em pascal e c… mas nada comparado ao que eu ja fiz em java por exemplo… nunca conectei o C com um banco de dados por exemplo…
Por exemplo fazia tudo num unico arquivo… e sei que em sistemas isso nao acontece… e tudo bem organizado… (outra duvida) como se organiza um projeto em C? Quais sao as melhores praticas…
J
juliocbq
faeldix:
Na verdade eu ja programei em pascal e c… mas nada comparado ao que eu ja fiz em java por exemplo… nunca conectei o C com um banco de dados por exemplo…
Por exemplo fazia tudo num unico arquivo… e sei que em sistemas isso nao acontece… e tudo bem organizado… (outra duvida) como se organiza um projeto em C? Quais sao as melhores praticas…
Você pode desenvolver em c seguindo o modelo orientado a objetos. Nada impede pois são metodologias. Por exemplo, o código do kernel linux segue um padrão de projeto muito bem organizado. Objective c nada mais é que macros da linguagem c(a grosso modo).
Se você estudar padrões de projeto pode escrever software de qualidade com qualquer linguagem. Não deixe que alguns tópicos daqui do guj te passem a impressão do contrário.