小编Luk*_*ner的帖子

如果两个任务尝试同时访问结构的不同部分(在 c 中)会发生什么?

假设我有一个由两个 mystruct_t 类型的结构组成的数组:

    typedef struct {
      uint16_t member1;
      bool member2;
    } mystruct_t;
    mystruct_t my_array[2];
Run Code Online (Sandbox Code Playgroud)

如果两个任务试图同时访问这个数组的不同部分会发生什么?如果一个任务试图访问 my_array[0] 而另一个任务试图访问 my_array[1],这会产生竞争条件吗?

如果两个任务试图同时访问结构的不同部分会发生什么?如果一个任务试图访问 my_array[0].member1 而另一个任务试图访问 my_array[0].member2,这会产生竞争条件吗?

更新:我使用的是 c99 版。

c c99

6
推荐指数
1
解决办法
82
查看次数

如何使用 google-test 检查向量中的内容?

std::vector<uint8_t> vector1(10);
std::vector<uint8_t> vector2(10);

std::fill(vector1.begin(), vector1.end(), 2);
std::fill(vector2.begin(), vector2.end(), 2);

EXPECT_EQ(vector1, vector2);
Run Code Online (Sandbox Code Playgroud)

上面的 EXPECT_EQ() 是否检查向量 1 和向量 2 中的内容是否相等?如果不是,如何使用 googletest EXPECT_* 函数检查向量 1 和向量 2 中的内容是否相等?

googletest 的文档解释了如何测试 C 字符串和 C++ 字符串对象的内容,但没有解释如何检查 C++ 向量的内容。

c++ googletest

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

标签 统计

c ×1

c++ ×1

c99 ×1

googletest ×1