feat 新的运行时环境
This commit is contained in:
28
runtime/libcore/include/core_mem.h
Normal file
28
runtime/libcore/include/core_mem.h
Normal file
@@ -0,0 +1,28 @@
|
||||
#ifndef __SMCC_CORE_MEM_H__
|
||||
#define __SMCC_CORE_MEM_H__
|
||||
|
||||
#include "core_type.h"
|
||||
|
||||
void* smcc_memcpy(void *dest, const void *src, usize n);
|
||||
void* smcc_memmove(void *dest, const void *src, usize n);
|
||||
void* smcc_memset(void *s, int c, usize n);
|
||||
int smcc_memcmp(const void *s1, const void *s2, usize n);
|
||||
|
||||
static inline u32 smcc_strhash32(const char* s) {
|
||||
u32 hash = 2166136261u; // FNV-1a偏移基础值
|
||||
while (*s) {
|
||||
hash ^= *s++;
|
||||
hash *= 16777619u;
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
|
||||
static inline int smcc_strcmp(const char* s1, const char* s2) {
|
||||
while (*s1 && *s2 && *s1 == *s2) {
|
||||
s1++;
|
||||
s2++;
|
||||
}
|
||||
return *s1 - *s2;
|
||||
}
|
||||
|
||||
#endif /* __SMCC_CORE_MEM_H__ */
|
||||
Reference in New Issue
Block a user