|
Minishell 1.0
42 School Minishell Project - A simple shell implementation
|
Arena-based garbage collector header. Ayrıntılar...
#include <stddef.h>Bu dosyanın kaynak koduna git.
Veri Yapıları | |
| struct | s_gc_node |
| GC düğüm yapısı — tek bir allocation'ı temsil eder. Ayrıntılar... | |
| struct | s_gc |
| GC ana yapısı — allocation listesinin başını tutar. Ayrıntılar... | |
Typedef'ler | |
| typedef struct s_gc_node | t_gc_node |
| GC düğüm yapısı — tek bir allocation'ı temsil eder. | |
| typedef struct s_gc | t_gc |
| GC ana yapısı — allocation listesinin başını tutar. | |
Fonksiyonlar | |
| void | gc_init (t_gc *gc) |
| GC yapısını ilk duruma getirir. | |
| void * | gc_alloc (t_gc *gc, size_t size) |
| malloc + GC'ye kayıt — free gerekmez | |
| void * | gc_calloc (t_gc *gc, size_t nmemb, size_t size) |
| ft_calloc + GC'ye kayıt — sıfırlanmış bellek, free gerekmez | |
| void * | gc_register (t_gc *gc, void *ptr) |
| Mevcut bir pointer'ı GC'ye kaydeder (dışarıda malloc edilmiş). | |
| void | gc_free_all (t_gc *gc) |
| GC'deki tüm kayıtlı pointer'ları serbest bırakır. | |
| char * | gc_strdup (t_gc *gc, const char *s) |
| ft_strdup + GC kayıt | |
| char * | gc_strjoin (t_gc *gc, const char *s1, const char *s2) |
| ft_strjoin + GC kayıt | |
| char * | gc_substr (t_gc *gc, const char *s, unsigned int start, size_t len) |
| ft_substr + GC kayıt | |
| char * | gc_itoa (t_gc *gc, int n) |
| ft_itoa + GC kayıt | |
| char ** | gc_split (t_gc *gc, const char *s, char c) |
| ft_split + GC kayıt (dizi ve tüm elemanları kaydedilir) | |
Arena-based garbage collector header.
Malloc edilen tüm pointer'ları bir linked-list'te tutar. gc_free_all() çağrıldığında hepsini toplu serbest bırakır.
garbage_collector.h dosyasında tanımlanmıştır.
| void gc_init | ( | t_gc * | gc | ) |
GC yapısını ilk duruma getirir.
| gc | GC yapısı pointer'ı |
garbage_collector.c dosyasının 30 numaralı satırında tanımlanmıştır.
Referanslar s_gc::head.
| void * gc_alloc | ( | t_gc * | gc, |
| size_t | size ) |
malloc + GC'ye kayıt — free gerekmez
| gc | GC yapısı pointer'ı |
| size | Ayrılacak byte sayısı |
garbage_collector.c dosyasının 65 numaralı satırında tanımlanmıştır.
Referanslar gc_add_node().
| void * gc_calloc | ( | t_gc * | gc, |
| size_t | nmemb, | ||
| size_t | size ) |
ft_calloc + GC'ye kayıt — sıfırlanmış bellek, free gerekmez
| gc | GC yapısı pointer'ı |
| nmemb | Eleman sayısı |
| size | Her elemanın byte boyutu |
garbage_collector.c dosyasının 86 numaralı satırında tanımlanmıştır.
Referanslar gc_add_node().
| void * gc_register | ( | t_gc * | gc, |
| void * | ptr ) |
Mevcut bir pointer'ı GC'ye kaydeder (dışarıda malloc edilmiş).
| gc | GC yapısı pointer'ı |
| ptr | Kaydedilecek pointer |
garbage_collector.c dosyasının 104 numaralı satırında tanımlanmıştır.
Referanslar gc_add_node().
Referans veren gc_itoa(), gc_split(), gc_strdup(), gc_strjoin() ve gc_substr().
| void gc_free_all | ( | t_gc * | gc | ) |
GC'deki tüm kayıtlı pointer'ları serbest bırakır.
| gc | GC yapısı pointer'ı |
Tüm node'ları ve içlerindeki ptr'leri free'ler. Çağrıdan sonra gc tekrar kullanılabilir (head = NULL).
garbage_collector.c dosyasının 120 numaralı satırında tanımlanmıştır.
Referanslar s_gc::head, s_gc_node::next ve s_gc_node::ptr.
| char * gc_strdup | ( | t_gc * | gc, |
| const char * | s ) |
ft_strdup + GC kayıt
| gc | GC yapısı |
| s | Kopyalanacak string |
garbage_collector_wrappers.c dosyasının 31 numaralı satırında tanımlanmıştır.
Referanslar gc_register().
| char * gc_strjoin | ( | t_gc * | gc, |
| const char * | s1, | ||
| const char * | s2 ) |
ft_strjoin + GC kayıt
| gc | GC yapısı |
| s1 | Birinci string |
| s2 | İkinci string |
garbage_collector_wrappers.c dosyasının 46 numaralı satırında tanımlanmıştır.
Referanslar gc_register().
| char * gc_substr | ( | t_gc * | gc, |
| const char * | s, | ||
| unsigned int | start, | ||
| size_t | len ) |
ft_substr + GC kayıt
| gc | GC yapısı |
| s | Kaynak string |
| start | Başlangıç indeksi |
| len | Uzunluk |
garbage_collector_wrappers.c dosyasının 62 numaralı satırında tanımlanmıştır.
Referanslar gc_register().
| char * gc_itoa | ( | t_gc * | gc, |
| int | n ) |
ft_itoa + GC kayıt
| gc | GC yapısı |
| n | Dönüştürülecek sayı |
garbage_collector_wrappers.c dosyasının 76 numaralı satırında tanımlanmıştır.
Referanslar gc_register().
| char ** gc_split | ( | t_gc * | gc, |
| const char * | s, | ||
| char | c ) |
ft_split + GC kayıt (dizi ve tüm elemanları kaydedilir)
| gc | GC yapısı |
| s | Bölünecek string |
| c | Ayırıcı karakter |
garbage_collector_wrappers.c dosyasının 91 numaralı satırında tanımlanmıştır.
Referanslar gc_register().