memcpy() + memset(); Makefile for libc
This commit is contained in:
parent
b5c9c0de9a
commit
77a7742538
3 changed files with 72 additions and 0 deletions
53
libc/Makefile
Normal file
53
libc/Makefile
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
include ../config.mk
|
||||||
|
|
||||||
|
AR=ar
|
||||||
|
ARFLAGS=rcs
|
||||||
|
|
||||||
|
LIBC_OBJECTS= \
|
||||||
|
string/ffs.o \
|
||||||
|
string/ffsl.o \
|
||||||
|
string/ffsll.o \
|
||||||
|
string/memccpy.o \
|
||||||
|
string/memchr.o \
|
||||||
|
string/memcmp.o \
|
||||||
|
string/memcpy.o \
|
||||||
|
string/memmove.o \
|
||||||
|
string/memrchr.o \
|
||||||
|
string/memset.o \
|
||||||
|
string/stpcpy.o \
|
||||||
|
string/stpncpy.o \
|
||||||
|
string/strcat.o \
|
||||||
|
string/strchr.o \
|
||||||
|
string/strchrnul.o \
|
||||||
|
string/strcmp.o \
|
||||||
|
string/strcoll.o \
|
||||||
|
string/strcpy.o \
|
||||||
|
string/strcspn.o \
|
||||||
|
string/stresep.o \
|
||||||
|
string/strlcat.o \
|
||||||
|
string/strlcpy.o \
|
||||||
|
string/strlen.o \
|
||||||
|
string/strncat.o \
|
||||||
|
string/strncmp.o \
|
||||||
|
string/strncpy.o \
|
||||||
|
string/strnlen.o \
|
||||||
|
string/strpbrk.o \
|
||||||
|
string/strrchr.o \
|
||||||
|
string/strsep.o \
|
||||||
|
string/strspn.o \
|
||||||
|
string/strstr.o \
|
||||||
|
string/strtok_r.o \
|
||||||
|
string/strxfrm.o \
|
||||||
|
# end of source list
|
||||||
|
|
||||||
|
libc.a: $(LIBC_OBJECTS)
|
||||||
|
$(AR) $(ARFLAGS) $@ $(LIBC_OBJECTS)
|
||||||
|
|
||||||
|
.c.o: string.h
|
||||||
|
$(CC) $(CFLAGS) -c -o $@ $(@:.o=.c) $(CPPFLAGS)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(LIBC_OBJECTS)
|
||||||
|
rm -f libc.a
|
||||||
|
|
||||||
|
.PHONY: clean
|
||||||
10
libc/string/memcpy.c
Normal file
10
libc/string/memcpy.c
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
void *memcpy(void *dest, const void *src, size_t n) {
|
||||||
|
unsigned char *d = dest;
|
||||||
|
const unsigned char *s = src;
|
||||||
|
for (size_t i = 0; i < n; i++) {
|
||||||
|
d[i] = s[i];
|
||||||
|
}
|
||||||
|
return dest;
|
||||||
|
}
|
||||||
9
libc/string/memset.c
Normal file
9
libc/string/memset.c
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
void *memset(void *ptr, int value, size_t num) {
|
||||||
|
unsigned char *byte_ptr = ptr;
|
||||||
|
for (size_t i = 0; i < num; i++) {
|
||||||
|
byte_ptr[i] = (unsigned char)value;
|
||||||
|
}
|
||||||
|
return ptr;
|
||||||
|
}
|
||||||
Loading…
Add table
Reference in a new issue