From 40e3e0543afc6b192e1a6e34ba56a5ab14160813 Mon Sep 17 00:00:00 2001 From: Xamora Date: Wed, 19 Feb 2025 17:10:04 +0100 Subject: [PATCH] patch lib; main test; Makefile path --- Makefile | 15 +++++++++++---- README.md | 1 + inc/malloc.h | 4 ++++ main.c | 9 +++++++++ main.sh | 2 ++ src/malloc.c | 7 ++++--- 6 files changed, 31 insertions(+), 7 deletions(-) create mode 100644 README.md create mode 100644 main.c create mode 100755 main.sh diff --git a/Makefile b/Makefile index 4b5aedc..b01c471 100644 --- a/Makefile +++ b/Makefile @@ -1,18 +1,19 @@ CC := gcc LD := $(CC) -LDFLAGS := +LDFLAGS := -shared CFLAGS := $(shell cat compile_flags.txt | sed -z "s/\n/ /g") SRC := $(wildcard src/*.c) LIB := lib/lib.a OBJ_DIR := build OBJ := $(addprefix $(OBJ_DIR)/, $(patsubst %.c,%.o,$(SRC))) DIR := . -RAW_NAME:= libft_malloc +RAW_NAME:= ft_malloc +LIB_NAME:= lib$(RAW_NAME) ifeq ($(HOSTTYPE),) HOSTTYPE := $(shell uname -m)_$(shell uname -s) endif -NAME := $(RAW_NAME).so -NAME_L := $(RAW_NAME)_$(HOSTTYPE).so +NAME := $(LIB_NAME).so +NAME_L := $(LIB_NAME)_$(HOSTTYPE).so all: $(NAME) @@ -27,13 +28,19 @@ $(OBJ_DIR)/%.o: %.c clean: @rm -rf $(OBJ_DIR) + @rm -f main.o fclean: clean @rm -f $(DIR)/$(NAME) @rm -f $(DIR)/$(NAME_L) + @rm -f main re: @make --no-print clean @make --no-print all +main: $(NAME) + export LD_LIBRARY_PATH=$(LD_LIBRARY_PATH):$(shell pwd)/ + $(CC) main.c -L. -l$(RAW_NAME) -o main + .PHONY: all clean re diff --git a/README.md b/README.md new file mode 100644 index 0000000..0926001 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +need to set **LIB_LIBRARY_PATH=.** diff --git a/inc/malloc.h b/inc/malloc.h index 4fb6ad0..0ba2d07 100644 --- a/inc/malloc.h +++ b/inc/malloc.h @@ -4,6 +4,10 @@ #include #include +/*typedef struct { + u16 byte; +} meta_t ;*/ + void free(void *ptr); void *malloc(size_t size); void *realloc(void *ptr, size_t size); diff --git a/main.c b/main.c new file mode 100644 index 0000000..5fd4c7f --- /dev/null +++ b/main.c @@ -0,0 +1,9 @@ +#include +#include "inc/malloc.h" + +int +main(void) { + void* test = malloc(4); + (void)test; + return 0; +} diff --git a/main.sh b/main.sh new file mode 100755 index 0000000..68a7e08 --- /dev/null +++ b/main.sh @@ -0,0 +1,2 @@ +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD +gcc main.c -L. -lft_malloc -o main diff --git a/src/malloc.c b/src/malloc.c index 2240312..dcf2b0f 100644 --- a/src/malloc.c +++ b/src/malloc.c @@ -1,4 +1,3 @@ -#include "libft/libft.h" char *memory = nullptr; void * @@ -6,7 +5,9 @@ malloc(size_t size) { if (!memory) memory = mmap(nullptr, 4096 * 10, 0, PROT_READ | PROT_WRITE, 0, 0); - for (i32 i = 0; i < ft_get_size(size); i++) { - + for (size_t i = 0; i < size; i++) { + ft_printf("test"); } + + return memory; }