Chamadas a outros fontes em C++.

1. Chamadas a outros fontes em C++.

Fagner Pires de Oliveira
fag_oliv

(usa Gentoo)

Enviado em 29/05/2008 - 09:47h

Pessoal, estou comecando a estudar C++, porem nos livros que procurei, nao encontrei por que? e quando utilizar? as chamadas de outros fontes por exemplo:
#include "codigo.h"

ou

#include "codigo.c"

se alguem poder me explicar, eu agradeço. Abraco a todos.


  


2. Re: Chamadas a outros fontes em C++.

Denis Doria
thuck

(usa Debian)

Enviado em 29/05/2008 - 10:14h

Sempre que você precisa de uma biblioteca.
Exemplo, se você precisa do comando atoi() - que converte string em um inteiro, vc precisa incluir a biblioteca:

#include <stdlib.h>

Agora você poderá usar o atoi(), sem isso vc teria que escrever todo o código, com bibliotecas vc reutiliza código de outras pessoas.



3. Re: Chamadas a outros fontes em C++.

Fagner Amaral de Souza Candido
f_Candido

(usa Ubuntu)

Enviado em 29/05/2008 - 11:11h

Bom, a inclusão : #include <stdio.h>, vai buscar a header no diretório padrão delas. Depende da instalação. Bom, caso seja #include "codigo.c", vai buscar este arquivo no diretório corrente.


Espero ter ajudado,

Abraços


4. Re: Chamadas a outros fontes em C++.

Fagner Pires de Oliveira
fag_oliv

(usa Gentoo)

Enviado em 29/05/2008 - 20:15h

Ola pessoal, acho que nao fui claro na minha pergunta, desculpe-me.

corrigindo, vi alguns fontes de aplicacoes em c++, onde os programadores fazem da seguinte maneira, eles criam um fonte.c, e depois criam outro "fonte.h".

Percebi que eles, refereciam o fonte.h, dentro do fonte.c, desta maneira: #include "fonte.h".

Nao sei, se e apenas coincidência ou se faz algum sentido, mas parece que eles criam as classes dentro do "fonte.h", e no "fonte.c" criam os metodos.

Eu gostaria de entender, como isso funciona?, se e regra no desenvolvimento em c++? ate mesmo o que devo ler pra compreender melhor.

Espero, ter sido claro desta vez.

Abracos,


5. Re: Chamadas a outros fontes em C++.

Júlio Ferreira de Souza Neto
juliofsn

(usa Fedora)

Enviado em 29/05/2008 - 22:01h

Não é uma regra, mas é uma boa prática.
Tanto em C como em C++, há uma convenção em usar os arquivos ".h" e ".c" ou ".cpp".

Os ".h", os headers, você utiliza para definir structs, variáveis globais, macros, assinaturas de funções, definições de classe (no caso de C++) ou seja, a estrutura do seu programa.

Os ".c" e ".cpp" (sources) você utiliza para colocar em prática a estrutura definida, implementar as funções e/ou métodos de classe, ou seja, é onde você coloca o código que realmente faz alguma coisa. Através das diretivas de include o compilador vai saber linkar os headers aos sources.

Mas como eu disse isso é uma convenção para organização de código, não é algo que precisa necessariamente ser seguido à risca

Espero que eu tenha ajudado e bons estudos.


6. Re: Chamadas a outros fontes em C++.

Marcelo Utikawa da Fonseca
utikawa

(usa Ubuntu)

Enviado em 29/05/2008 - 22:06h

Funciona da seguinte forma: os arquivos .c contém o código fonte em si. Os arquivos .h contém as definições, ou seja, estruturas, classes, enums, typedefs, etc.

Qual o motivo disso?
Vamos supor que você esteja criando um novo algoritmo de criptografia e que você vai vender a empresas que queiram utilizá-lo na transmissão de dados. Você não pode entregar o seu arquivo .c pois senão o seu segredo e fonte de renda será revelado! Assim você cria o arquivo .h que conterá as estruturas que definem tipos de dados sendo passados como parâmetros para funções, protótipos destas funções, etc.
Assim você compila o seu .c, gerando o arquivo objeto .o e entrega-o para seus clientes juntamente ao .h
O seu cliente então irá criar um programa com o include ao seu arquivo .h, chamará as funções, etc. Ao compilar o software do cliente, será passado como parâmetro o arquivo .o na linha de comando. Pronto! O seu cliente usou a sua função e você não precisou entregar o arquivo .c
Agora a pergunta: então isso só serve para sistemas proprietários? A resposta é: não!
A outra vantagem (e talvez a principal), você consegue reaproveitar os arquivos já compilados ao invés de ter que recompilar todo o software. É como funciona o kernel do linux: são milhares de arquivos .c que são compilados um de cada vez. Se um arquivo for alterado, apenas ele precisará ser recompilado e não todo o kernel.
E porque incluir um fonte.h dentro do fonte.c?
Como o arquivo .h contém as definições de estruturas, classes e etc, você o inclui para não ter que repetir todas estas definições dentro do .c
Assim o mesmo arquivo utilizado pelo cliente será utilizado pelo seu .c, reaproveitando o código!
Não sei se eu compliquei mais do que expliquei, qualquer coisa avise!!! :-)


7. Re: Chamadas a outros fontes em C++.

Fagner Pires de Oliveira
fag_oliv

(usa Gentoo)

Enviado em 02/06/2008 - 09:36h

Bahhh valew pessoal, esclareceram bem minha dúvida, agora eu entendi... Obrigado... vou continuar a brincar em c++, se eu tiver alguma dúvida entro em contato com voces ...Abracos ...






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts