Ir ao conteúdo

C O que colocar no .h e no .c?


Ir à solução Resolvido por arfneto,

Posts recomendados

Postado

Estou precisando criar uma biblioteca, mas não sei o que coloco no arquivo .h e no .c, alguém saberia me dizer?

Só sei que o protótipo das funções se coloca no .h e o corpo delas no .c, não sei o motivo, mas pelo o que vejo por aí é isso.

Daí me resta saber onde coloco as struct's, typedef's, #define's, #include's, const's.

 

Agradeço pela atenção.

Postado

Podemos descobrir com exemplos investigando o conteúdo nos arquivos de cabeçalho da biblioteca padrão.

 

Você tem compilador instalado em seu computador? Vá no direito procure pelas pasta include e abra stdio.h

 

Resumindo: 

Tem tudo que seu usuário pode/precisa para valer-se da biblioteca de funções, inclusive descrição das características e das funcionalidades.

 

 

Fiz rapidinho um busca e encontrei esse tutorial, penso ser uma boa maneira para começar: https://profes.com.br/MarceloPastorino/blog/como-fazer-uma-biblioteca-em-c 

 

 

Outro em vídeo:

 

  • Obrigado 1
  • Solução
Postado
Em 15/05/2021 às 10:21, Luccas Fernando disse:

Estou precisando criar uma biblioteca, mas não sei o que coloco no arquivo .h e no .c, alguém saberia me dizer?

Só sei que o protótipo das funções se coloca no .h e o corpo delas no .c, não sei o motivo, mas pelo o que vejo por aí é isso.

Daí me resta saber onde coloco as struct's, typedef's, #define's, #include's, const's

 

 

Note que nenhum dos dois é a biblioteca. 

 

Você vai usar o compilador C no caso para criar o código de sua biblioteca. E vai gerar um arquivo com extensão LIB no windows usando o programa.... LIB 

 

clube> lib /?
Microsoft (R) Library Manager Version 14.28.29915.0
Copyright (C) Microsoft Corporation.  All rights reserved.

usage: LIB [options] [files]

   options:

      /DEF[:filename]
      /ERRORREPORT:{NONE|PROMPT|QUEUE|SEND}
      /EXPORT:symbol
      /EXTRACT:membername
      /INCLUDE:symbol
      /LIBPATH:dir
      /LINKREPRO:dir
      /LINKREPROTARGET:filename
      /LIST[:filename]
      /LTCG
      /MACHINE:{ARM|ARM64|ARM64EC|EBC|X64|X86}
      /NAME:filename
      /NODEFAULTLIB[:library]
      /NOLOGO
      /OUT:filename
      /REMOVE:membername
      /SUBSYSTEM:{BOOT_APPLICATION|CONSOLE|EFI_APPLICATION|
                  EFI_BOOT_SERVICE_DRIVER|EFI_ROM|EFI_RUNTIME_DRIVER|
                  NATIVE|POSIX|WINDOWS|WINDOWSCE}[,#[.##]]
      /VERBOSE
      /WX[:NO]

clube> 

 

 

E aí claro o programa C desaparece. 

 

E como alguém vai usar sua bibioteca? 

 

Você vai criar um arquivo em geral com a extensão h, onde estão os protótipos das funções e constantes de sua biblioteca e vai distribuir os dois, o arquivo lib e o arquivo h, muitas vezes por um preço ;) 

 

E vai guardar os arquivos C com cuidado porque serão a única maneira de manter a biblioteca.

 

Eis um roteiro passo a passo de como criar uma usando um IDE: https://docs.microsoft.com/pt-br/cpp/build/walkthrough-creating-and-using-a-static-library-cpp?view=msvc-160

 

Pode ajudar a entender o uso

  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!