Giter VIP home page Giter VIP logo

42-libft's Introduction


🏆 Esse código-fonte também inlclui a parte bônus do projeto.


🎠 Norma / Norminette

Toda a codificação do código-fonte desse projeto está seguindo a especificação da Norma 3.3.x e foi devidamente testado e aprovado pela Norminette. Não estranhe se o estilo ao qual o código foi desenvolvido pareça diferente pra você, ele só segue o estilo da 42 😀.


O que é a libft?

A libft é uma biblioteca estática de uso geral, escrita em C com a principal finalidade de ser utilizada nos projetos da École 42.

Pré-requisitos

Para conseguir compilar corretamente a biblioteca, o seu sistema necessitará previamente ter instalado e configurado as seguintes ferramentas:

Compilação

Para este projeto, há três possibilidades para compilação da biblioteca, parte mandatória, parte bônus, e ambas partes juntas.

Parte mandatória

Basta chamar o Make sem especificar nenhuma regra ou utilizar a regra all do Make:

 make all

Parte bônus

Basta chamar a regra bonus do Make:

make bonus

Parte mandatória e bônus juntas

Para projetos onde se é necessário utilizar as funções da parte mandatória e bônus juntas, a regra both do Make permite essa facilidade na compilação:

make both

Se tudo ocorrer corretamente será gerado o arquivo libft.a.

Para remover os objetos temporários (arquivos .o) que foram utilizados na compilação, chame novamentente o make:

make clean

Outras regras diponíveis no Make

Foram criadas mais algumas regras no Make para faciliar a manipulação do projeto:

  • make ou make all: compila os arquivos de código-fonte (arquivos .c) gerando os objetos (arquivos .o) e cria o arquivo libft.a.
  • make clean: remove todos os objetos temporários gerados durante a fase de compilação do código-fonte.
  • make fclean: remove os objetos temporários e também o arquivo libft.a.
  • make re: remove todos os objetos temporários, o arquivo libft.a e refaz novamente o processo de compilação.

Como utilizar libft em seu projeto

Adicione o header

Adicione o libft.h no início do código-fonte onde pretende utilizar as funções da biblioteca:

#include "libft.h"

void main()
{
	...
}

Informe a localização do header na compilação

Após finalizar a codificação do seu código-fonte, temos a parte de compilação dos objetos, para isso será preciso informar ao compilador onde está localizado o header (libft.h).
Para informar a localização do header utilize a flag -I do gcc e adicione a localização do arquivo libft.h, assim a compilação poderá ocorrer sem problemas.

gcc -I ./libft_folder/inc -c my_code.c

Informe a localização do arquivo libft.a na linkagem

Após a compilação dos objetos é hora de fazer a linkagem, para isso é necessário informar também a localização do arquivo libft.a e incluir sua utilização explicitamente.
Será necessários utilizar as flags -l e -L do gcc, -l para incluir a utilização da biblioteca explicitamente e -L para informar a localização do arquivo .a

gcc my_code.o -L libft_folder -l ft

Agora é só utilizá-la em suas aplicações!

Funções disponíveis na libft

Abaixo temos a listagem e descrição de todas as funções disponíveis na libft para você utilizar em seus projetos:

Funções validadoras de caracteres

Funções manipuladoras de caracteres

Funções para trabalhar com strings

Funções para trabalhar com inteiros

Funções para manipular diretamente a memória

Funções para impressão de strings

Funções para trabalhar com listas linkadas

Licença

Esse projeto está sob a licença MIT.

42-libft's People

Contributors

gawbsouza avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.