Página 1 de 3 123 ÚltimoÚltimo
+ Responder ao Tópico



  1. #1
    shinzo
    Como ela foi feito ? Entrei no dir include entrei no arquivo stdio.h e encontrei apenas o protótipo da função :

    int printf(const char *_format, ...);

    Qual a explicação ? Onde ta o resto ?

  2. #2
    itamarjp
    provavelmente mais em baixo.

    vc deve ter olhado apenas no cabeçalho do arquivo.




  3. Amigo, o resto está em arquivos objeto, pré-compilados.
    O que você faz ao inserir um #include no seu código, é dizer ao compilador o protótipo das funções, os tipos, e as variáveis que irá utilizar (sim, há muito mais, mas não vem ao caso agora), assim, o compilador saberá de que forma compilar o seu programa, reservando os devidos espaços na memória, aferindo referências a posições de memória, e adicionando algum código necessário, automaticamente. Quem cria o binário, neste caso um ELF, é o LINKER, e não o compilador. O Linker tem o trabalho de ler os arquivos objeto e criar o binário, levando em conta as dependências dos arquivos entre si, as bibliotecas necessárias, e assim por diante.
    Tentei explicar de uma forma simples. Mas não sei se consegui ser suficientemente claro.
    Você pode pesquisar mais sobre COMPILADOR e LINKER se desejar detalhes mais técnicos.
    Qualquer dúvida posta novamente aí.

    Bom estudo!

  4. Ah, e sobre onde encontrar o código da função printf..
    Voce encontrará no código-fonte da GLIBC (http://directory.fsf.org/glibc.html)
    Seu compilador utiliza as funções da libc caso você utilize algum header da mesma. O que é padrão
    Nesse caso, a função printf (http://www.die.net/doc/linux/man/man3/printf.3.html), é parte da libc, definida pelo header stdio.h.
    Você pode utilizar o comando "man" para encontrar a documentação das funções da libc.
    Por exemplo:
    man 3 printf

    Espero ter contribuído.




  5. #5
    ABG
    Desculpa perguntar, mas porque vc está tão interessado em printf?

    Citação Postado originalmente por shinzo
    Como ela foi feito ? Entrei no dir include entrei no arquivo stdio.h e encontrei apenas o protótipo da função :

    int printf(const char *_format, ...);

    Qual a explicação ? Onde ta o resto ?






Tópicos Similares

  1. Respostas: 0
    Último Post: 30-11-2015, 22:29
  2. Dúvidas na Função WDS
    Por amjservicos no fórum Servidores de Rede
    Respostas: 1
    Último Post: 25-02-2014, 18:17
  3. Uma duvida na RB1000 !
    Por juninhobiuuu no fórum Redes
    Respostas: 9
    Último Post: 14-10-2009, 22:19
  4. Duvidas na reinstalação do RUWINDOWS com o Linux
    Por Elvis no fórum Servidores de Rede
    Respostas: 3
    Último Post: 09-01-2003, 04:20
  5. duvidas na configuração de email
    Por pensador-ce no fórum Servidores de Rede
    Respostas: 6
    Último Post: 19-10-2002, 09:44

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L