mirror of https://github.com/RT-Thread/rt-thread
[kservice] 增加RT_KSERVICE_USING_STDLIB_MEMSET RT_KSERVICE_USING_STDLIB_MEMCPY
This commit is contained in:
parent
f89a162ea3
commit
dd62b2b106
|
@ -596,8 +596,12 @@ int *_rt_errno(void);
|
||||||
|
|
||||||
int __rt_ffs(int value);
|
int __rt_ffs(int value);
|
||||||
|
|
||||||
|
#ifndef RT_KSERVICE_USING_STDLIB_MEMSET
|
||||||
void *rt_memset(void *src, int c, rt_ubase_t n);
|
void *rt_memset(void *src, int c, rt_ubase_t n);
|
||||||
|
#endif /* RT_KSERVICE_USING_STDLIB_MEMSET */
|
||||||
|
#ifndef RT_KSERVICE_USING_STDLIB_MEMCPY
|
||||||
void *rt_memcpy(void *dest, const void *src, rt_ubase_t n);
|
void *rt_memcpy(void *dest, const void *src, rt_ubase_t n);
|
||||||
|
#endif /* RT_KSERVICE_USING_STDLIB_MEMCPY */
|
||||||
char *rt_strdup(const char *s);
|
char *rt_strdup(const char *s);
|
||||||
|
|
||||||
#ifndef RT_KSERVICE_USING_STDLIB
|
#ifndef RT_KSERVICE_USING_STDLIB
|
||||||
|
@ -612,6 +616,12 @@ rt_int32_t rt_strcmp(const char *cs, const char *ct);
|
||||||
rt_size_t rt_strlen(const char *src);
|
rt_size_t rt_strlen(const char *src);
|
||||||
#else
|
#else
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#ifdef RT_KSERVICE_USING_STDLIB_MEMSET
|
||||||
|
#define rt_memset(s, c, count) memset(s, c, count)
|
||||||
|
#endif /* RT_KSERVICE_USING_STDLIB_MEMSET */
|
||||||
|
#ifdef RT_KSERVICE_USING_STDLIB_MEMCPY
|
||||||
|
#define rt_memcpy(dst, src, count) memcpy(dst, src, count)
|
||||||
|
#endif /* RT_KSERVICE_USING_STDLIB_MEMCPY */
|
||||||
#define rt_memmove(dest, src, n) memmove(dest, src, n)
|
#define rt_memmove(dest, src, n) memmove(dest, src, n)
|
||||||
#define rt_memcmp(cs, ct, count) memcmp(cs, ct, count)
|
#define rt_memcmp(cs, ct, count) memcmp(cs, ct, count)
|
||||||
#define rt_strstr(str1, str2) strstr(str1, str2)
|
#define rt_strstr(str1, str2) strstr(str1, str2)
|
||||||
|
|
10
src/Kconfig
10
src/Kconfig
|
@ -135,6 +135,16 @@ menu "kservice optimization"
|
||||||
bool "Enable kservice to use standard C library"
|
bool "Enable kservice to use standard C library"
|
||||||
default n
|
default n
|
||||||
|
|
||||||
|
if RT_KSERVICE_USING_STDLIB
|
||||||
|
config RT_KSERVICE_USING_STDLIB_MEMCPY
|
||||||
|
bool "Use memcpy to replace rt_memcpy (faster, but not safe)"
|
||||||
|
default n
|
||||||
|
|
||||||
|
config RT_KSERVICE_USING_STDLIB_MEMSET
|
||||||
|
bool "Use memset to replace rt_memset (faster, but not safe)"
|
||||||
|
default n
|
||||||
|
endif
|
||||||
|
|
||||||
config RT_KSERVICE_USING_TINY_SIZE
|
config RT_KSERVICE_USING_TINY_SIZE
|
||||||
bool "Enable kservice to use tiny size"
|
bool "Enable kservice to use tiny size"
|
||||||
default n
|
default n
|
||||||
|
|
|
@ -116,6 +116,7 @@ int *_rt_errno(void)
|
||||||
}
|
}
|
||||||
RTM_EXPORT(_rt_errno);
|
RTM_EXPORT(_rt_errno);
|
||||||
|
|
||||||
|
#ifndef RT_KSERVICE_USING_STDLIB_MEMSET
|
||||||
/**
|
/**
|
||||||
* This function will set the content of memory to specified value.
|
* This function will set the content of memory to specified value.
|
||||||
*
|
*
|
||||||
|
@ -201,7 +202,9 @@ RT_WEAK void *rt_memset(void *s, int c, rt_ubase_t count)
|
||||||
#endif /* RT_KSERVICE_USING_TINY_SIZE */
|
#endif /* RT_KSERVICE_USING_TINY_SIZE */
|
||||||
}
|
}
|
||||||
RTM_EXPORT(rt_memset);
|
RTM_EXPORT(rt_memset);
|
||||||
|
#endif /* RT_KSERVICE_USING_STDLIB_MEMSET */
|
||||||
|
|
||||||
|
#ifndef RT_KSERVICE_USING_STDLIB_MEMCPY
|
||||||
/**
|
/**
|
||||||
* This function will copy memory content from source address to destination address.
|
* This function will copy memory content from source address to destination address.
|
||||||
*
|
*
|
||||||
|
@ -285,6 +288,7 @@ RT_WEAK void *rt_memcpy(void *dst, const void *src, rt_ubase_t count)
|
||||||
#endif /* RT_KSERVICE_USING_TINY_SIZE */
|
#endif /* RT_KSERVICE_USING_TINY_SIZE */
|
||||||
}
|
}
|
||||||
RTM_EXPORT(rt_memcpy);
|
RTM_EXPORT(rt_memcpy);
|
||||||
|
#endif /* RT_KSERVICE_USING_STDLIB_MEMCPY */
|
||||||
|
|
||||||
#ifndef RT_KSERVICE_USING_STDLIB
|
#ifndef RT_KSERVICE_USING_STDLIB
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue