如何重新定义 uint_least8_t 进行单元测试

问题描述 投票:0回答:1

我正在尝试在使用 uint_least8_t 的 x86 上对代码进行单元测试。在其中一个目标上,这实际上是一个 uint16_t,因此我希望能够使用 uint_least8_t 既是 uint8_t 又是 uint16_t 进行单元测试。将 uint_least8_t (和变体)重新定义为 uint16 的好方法是什么?

我尝试做一个简单的

typedef uint16_t uint_least8_t;
,但编译器抱怨重新定义。我可以将所有 uint_least8_t 替换为另一种类型(即
my_uint_least8_t
),但不想修改所有代码。有没有简单的方法可以实现这一目标?

(C11,海湾合作委员会)

gcc typedef c11
1个回答
0
投票

在某个测试目录中创建您自己的

stdint.h
文件。将路径添加到编译器包含路径
-I
整个项目

在那

stdint.h
#include_next <stdint.h>
。之后,在
stdint.h
#undef
需要时使用所有预处理器宏以及
#define uint_least8_t uint16_t

© www.soinside.com 2019 - 2024. All rights reserved.