Skip to content

Sumeyyye3/Libft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bu proje, 42 müfredatının bir parçası olarak sumdogan tarafından oluşturulmuştur.

Libft

Açıklama

Libft, 42 müfredatındaki temel C projelerinden biridir.
Bu projenin amacı, standart C kütüphanesinde bulunan bazı fonksiyonları yeniden yazarak kendi statik kütüphanemizi (libft.a) oluşturmaktır.

Bu proje sayesinde:

  • Bellek yönetimi (malloc / free)
  • String işlemleri
  • Pointer mantığı
  • Linked list (bağlı liste) yapıları
  • Norm kurallarına uygun C kodu yazma

konularında sağlam bir temel kazanılır.

Talimatlar

Derleme

make

Bu komut, proje kök dizininde libft.a dosyasını oluşturur.

Makefile Kuralları

  • make / make all : kütüphaneyi derler
  • make clean : .o dosyalarını siler
  • make fclean : .o dosyaları ve libft.a dosyasını siler
  • make re : her şeyi yeniden derler

Kullanım

#include "libft.h"
cc -Wall -Wextra -Werror main.c libft.a

Kütüphane İçeriği

Bu kütüphane, C dilinde yazılmış temel string, bellek ve yardımcı fonksiyonları içerir ve 42 projelerinde tekrar kullanılmak üzere oluşturulmuştur.

Bölüm 1 – Libc Fonksiyonları

Standart C kütüphanesindeki temel fonksiyonların yeniden yazılmış hâlleri:

  • Karakter kontrolü:
    ft_isalpha, ft_isdigit, ft_isalnum, ft_isascii, ft_isprint
  • String işlemleri:
    ft_strlen, ft_strchr, ft_strrchr, ft_strncmp, ft_strnstr
  • Bellek işlemleri:
    ft_memset, ft_bzero, ft_memcpy, ft_memmove, ft_memchr, ft_memcmp
  • Dönüştürme ve yardımcılar:
    ft_toupper, ft_tolower, ft_atoi
  • Dinamik bellek kullananlar:
    ft_calloc, ft_strdup
  • BSD kökenli fonksiyonlar:
    ft_strlcpy, ft_strlcat

Bölüm 2 – Ek Fonksiyonlar

Libc’de bulunmayan veya farklı amaçlarla kullanılan yardımcı fonksiyonlar:

  • String oluşturma ve düzenleme:
    ft_substr, ft_strjoin, ft_strtrim
  • Parçalama ve dönüştürme:
    ft_split, ft_itoa
  • Fonksiyon uygulama:
    ft_strmapi, ft_striteri
  • Dosya tanımlayıcıya yazma:
    ft_putchar_fd, ft_putstr_fd, ft_putendl_fd, ft_putnbr_fd

Bölüm 3 – Linked List (Bağlı Liste)

Tek yönlü bağlı liste yapısı ve yardımcı fonksiyonlar:

  • Düğüm oluşturma ve ekleme:
    ft_lstnew, ft_lstadd_front, ft_lstadd_back
  • Liste bilgisi:
    ft_lstsize, ft_lstlast
  • Bellek yönetimi:
    ft_lstdelone, ft_lstclear
  • Liste üzerinde işlem:
    ft_lstiter, ft_lstmap

Kaynaklar

  • man sayfaları
  • The C Programming Language – Kernighan & Ritchie
  • 42 Intranet dokümantasyonu

AI Kullanımı

Bu projede yapay zeka araçları:

  • Konu kavrama
  • Edge case analizi
  • Dokümantasyon yazımı
  • README.md dosyasını düzenleme
  • Linked list konusu yardımı

amaçlarıyla destekleyici olarak kullanılmıştır.
Kodlar doğrudan kopyalanmamış, öğrenci tarafından yazılmış ve anlaşılmıştır.

Notlar

  • 42 Norm’una uygundur
  • Global değişken yoktur
  • Bellek sızıntısı bulunmaz

About

A foundational C library built from scratch, including reimplementations of standard libc functions and custom utilities. Focused on memory safety, pointer manipulation, linked list implementation, and efficient low-level programming practices.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors