小编Ala*_*lan的帖子

了解C语言中#defines的不同样式

我查看了C编程语言的不同源代码,发现#define的使用风格不同。

我从技术上知道他们的用例,不管它们的样式如何,它们都可以按预期工作,但是从编码准则出发,我想问一下它们的含义以及何时使用特定的。

#define MY_DEFINE_H

#define MY_DEFINE_H_

#define MY_DEFINE_H__

#define __MY_DEFINE_H__
Run Code Online (Sandbox Code Playgroud)

另外,如果可以的话,请分享一些参考,以便我详细介绍。

c coding-style

3
推荐指数
1
解决办法
97
查看次数

c中的数据复制方法直接分配vs memcpy

我想从不同的变量复制数据并将它们放在一个数组中,以便我可以进一步处理它。

我研究过直接赋值和 memcpy 方法,认为 memcpy 用于复制完整缓冲区而不是单个元素。此外,我认为将 memcpy 用于单个字节可能需要时间和浪费 CPU 周期。

您能否从下面的示例中让我知道在这种情况下应该使用什么,因为它在多线程环境中运行(不同的示例)并且变量可能会改变?

#include <stdio.h>
#include <stdint.h>

int main()
{

    printf("Direct assign method\n");

    uint8_t pack_id = 123;
    uint8_t pack_age = 76;
    uint8_t pack_cmd = 30;

    uint8_t cus_data[3] = {0};

    cus_data[0] = pack_id;
    cus_data[1] = pack_age;
    cus_data[2] = pack_cmd;

    printf("Memcpy method\n");

    pack_id = 112;
    pack_age = 89;
    pack_cmd = 25;

    memcpy(&cus_data[0], &pack_id, sizeof(pack_id));
    memcpy(&cus_data[1], &pack_age, sizeof(pack_age));
    memcpy(&cus_data[2], &pack_cmd, sizeof(pack_cmd));

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c memcpy

2
推荐指数
1
解决办法
391
查看次数

标签 统计

c ×2

coding-style ×1

memcpy ×1