Como criar uma biblioteca em C

Vamos dar uma pausa em nossa apostila de C, especificamente sobre na seção de strings, para ensinar uma importante lição de organização.

Vamos aprender a criar e usar uma biblioteca, um header, que são aqueles arquivos de extensão .h que usualmente colocamos após o #include.

Por que criar uma biblioteca / header (.h) em C?

Sempre que você faz:
#include <stdio.h>

É como se tivesse colocando os códigos que se encontram dentro de um arquivo chamado 'stdio.h' no seu programa. Mas você não vê esses códigos, é o C/compilador que fazem isso tudo pra você.

Agora imagine se esses códigos aparecessem para você...sabe o que você veria?
Centenas de linhas de código para mostrar um simples 'Hello World' ou outros programas simples, que vínhamos criando até agora.

A utilidade dessas bibliotecas e headers é a de criar um arquivo que contém diversas funções específicas, separadas e organizadas por assuntos.
Por exemplo, existe uma biblioteca chamada string.h (que iremos estudar em breve), que é armazena diversas linhas de códigos com funções prontas para manipularmos strings em C.


Como criar uma biblioteca / header (.h) em C

Vá no Code::Blocks -> Empty File

Salve esse arquivo como: mystring.h
Salve na mesma pasta em que guarda seu código-fonte de C.
Escreva uma simples função nela, como uma que mostre uma mensagem na tela, com um simples printf e salve o arquivo.

Agora volte no seu projeto, que tem extensão .c
Após o #include <stdio.h>
Coloque:
#include "mystring.h"

Pronto. É como se todo o código contigo no arquivo mystring.h estivesse nesse seu arquivo de extensão .c
Faça um teste, invoque a função que criou no header a partir do seu arquivo .c

Note que só podemos usar o nome do header entre aspas se ele estiver na mesma pasta que seu código-fonte .c
Se estiver em outra como em: C:\C_Progressivo\, faça:
#include "C:\C_Progressivo\mystring.h"

Vamos criar uma série de funções de manipulação de caracteres e strings nos próximos tutoriais de nosso curso, e armazenaremos todos nossos códigos em bibliotecas!



6 comentários:

Anônimo disse...

Simplesmente fantástico, simples e direto.

Anônimo disse...

Como você diz que string.h é uma biblioteca?
Ele é um header, o que é diferente de uma library.

Mateus Silva disse...

Muito bom essa apostila quando com comecei a ler não sabia nada de c agora já sou capais de criar meus próprios programas em c básicos mais já estou evoluíndo muito.

Anônimo disse...

Num ambiente Linux, dá para ver todos os headers e bibliotecas, pois estão na pasta /usr/include. Se esquecer o nome da pasta, basta criar um arquivo .c aleatório, dar um #include e vai ter o /usr/include

Ricardo Erick Rebêlo disse...

Guardar código-fonte em .h? Tem certeza que você sabe o que está fazendo? E a nomenclatura? E a compilação? E a guarda de cabeçalho? E a inclusão no link-editor? Este artigo está deixando muito a desejar. Aprenda a fazer corretamente:

https://jacknpoeexplicacpp.wordpress.com/2015/07/25/criando-bibliotecas-em-c-parte-1-arquivo-de-cabecalho-2/

Anônimo disse...

Na verdade, o arquivo header é onde é colocado todos os cabeçalhos das funções. Em seguida deve-se criar outro arquivo .c com o mesmo nome do header, este porem, terá apenas o corpo das funções declaradas no header. Em seguida, deve-se criar um programa-objeto do arquivo onde está o corpo das funções, ai sim, no seu programa principal, quando usar o #include "nomedoheader.h" ele reconhecerá as funções.

Gostou desse tutorial de C?
Sabia que o acervo do portal C Progressivo é o mesmo, ou maior que, de um livro ou curso presencial?
E o melhor: totalmente gratuito.

Mas para nosso projeto se manter é preciso divulgação.
Para isso, basta curtir nossa página no Facebook e/ou clicar no botão +1 do Google.
Contamos e precisamos de seu apoio.