更新日期: 2022/06/01 来源: https://gitee.com/weharmony/kernel_liteos_a_note
lms_libc.c 文件参考

浏览源代码.

函数

voidmemset (void *addr, int c, size_t len)
 
voidmemmove (void *dest, const void *src, size_t len)
 
voidmemcpy (void *dest, const void *src, size_t len)
 
char * strcat (char *s, const char *append)
 
char * strcpy (char *dest, const char *src)
 
char * strncat (char *dest, const char *src, size_t n)
 
char * strncpy (char *dest, const char *src, size_t n)
 

函数说明

◆ memcpy()

void * memcpy ( void dest,
const void src,
size_t  len 
)

在文件 lms_libc.c51 行定义.

52{
55 return __memcpy(dest, src, len);
56}
VOID __asan_loadN_noabort(UINTPTR p, UINT32 size)
Definition: los_lms.c:754
VOID __asan_storeN_noabort(UINTPTR p, UINT32 size)
Definition: los_lms.c:678
unsigned long UINTPTR
Definition: los_typedef.h:68
函数调用图:
这是这个函数的调用关系图:

◆ memmove()

void * memmove ( void dest,
const void src,
size_t  len 
)

在文件 lms_libc.c43 行定义.

44{
47 return __memmove(dest, src, len);
48}
函数调用图:
这是这个函数的调用关系图:

◆ memset()

void * memset ( void addr,
int  c,
size_t  len 
)

在文件 lms_libc.c36 行定义.

37{
39 return __memset(addr, c, len);
40}
函数调用图:
这是这个函数的调用关系图:

◆ strcat()

char * strcat ( char *  s,
const char *  append 
)

在文件 lms_libc.c59 行定义.

60{
61 if ((s == NULL) || (append == NULL)) {
62 return NULL;
63 }
64
65 CHAR *end = s;
66 size_t len = strlen(append);
67 for (; *end != '\0'; ++end) {
68 }
69
70 __asan_storeN_noabort((UINTPTR)end, len + 1);
71 __asan_loadN_noabort((UINTPTR)append, len + 1);
72
73 return __strcat(s, append);
74}
char CHAR
Definition: los_typedef.h:63
函数调用图:
这是这个函数的调用关系图:

◆ strcpy()

char * strcpy ( char *  dest,
const char *  src 
)

在文件 lms_libc.c77 行定义.

78{
79 if ((dest == NULL) || (src == NULL)) {
80 return NULL;
81 }
82
83 size_t len = strlen(src);
84 __asan_storeN_noabort((UINTPTR)dest, len + 1);
85 __asan_loadN_noabort((UINTPTR)src, len + 1);
86
87 return __strcpy(dest, src);
88}
函数调用图:
这是这个函数的调用关系图:

◆ strncat()

char * strncat ( char *  dest,
const char *  src,
size_t  n 
)

在文件 lms_libc.c91 行定义.

92{
93 if ((dest == NULL) || (src == NULL)) {
94 return NULL;
95 }
96
97 CHAR *end = dest;
98 size_t len = strlen(src);
99 size_t size = len > n ? n : len;
100 for (; *end != '\0'; ++end) {
101 }
102
103 __asan_storeN_noabort((UINTPTR)end, size + 1);
104 __asan_loadN_noabort((UINTPTR)src, size + 1);
105
106 return __strncat(dest, src, n);
107}
函数调用图:

◆ strncpy()

char * strncpy ( char *  dest,
const char *  src,
size_t  n 
)

在文件 lms_libc.c110 行定义.

111{
112 if ((dest == NULL) || (src == NULL)) {
113 return NULL;
114 }
115
116 size_t len = strlen(src);
117 size_t size = len > n ? n : len;
118
120 __asan_loadN_noabort((UINTPTR)src, size + 1);
121 return __strncpy(dest, src, n);
122}
函数调用图: