• 大小: 2KB
    文件类型: .c
    金币: 2
    下载: 1 次
    发布日期: 2021-06-17
  • 语言: C/C++
  • 标签: C语言  

资源简介

面试嵌入式工程师常见的手写C语言函数,全部摘录与Rtthread内核源码进行少量修改

资源截图

代码片段和文件信息

void *memset(void *s int c rt_ubase_t count)
{
    char *xs = (char *)s;

    while (count--)
        *xs++ = c;

    return s;
}


void *memcpy(void *dst const void *src int count)
{
    char *tmp = (char *)dst *s = (char *)src;
    int len;

    if (tmp <= s || tmp > (s + count))
    {
        while (count--)
            *tmp ++ = *s ++;
    }
    else
    {
        for (len = count; len > 0; len --)
            tmp[len - 1] = s[len - 1];
    }

    return dst;
}

void *memmove(void *dest const void *src rt_ubase_t n)
{
    char *tmp = (char *)dest *s = (char *)src;

    if (s < tmp && tmp < s + n)
    {
        tmp += n;
        s += n;

        while (n--)
            *(--tmp) = *(--s);
    }
    else
    {
        while (n--)
            *tmp++ = *s++;
    }

    return dest;
}


int memcmp(const void *cs const void *ct int count)
{
    const unsigned char *su1 *su2;

评论

共有 条评论