bit-fields 相关问题

位字段用于将多个逻辑值紧凑地存储为短的一系列位,其中每个单个位可以被单独寻址。

在位域定义中混合不同类型

最近我在C代码中发现了以下数据结构定义: 类型定义枚举 { 类型1, 类型2, 类型3, } 类型定义; 类型定义结构{ 布尔变量A:1; 布尔变量...

回答 3 投票 0

C 中位域内除 int 类型以外的用法是什么

最近我在C代码中发现了以下数据结构定义: 类型定义枚举 { 类型1, 类型2, 类型3, } 类型定义; 类型定义结构{ 布尔变量A:1; 布尔变量...

回答 1 投票 0

这是初始化结构体中所有位字段的正确方法吗?

我将 bool 打包在一个 C++ 结构中,我想在构造时将它们全部初始化为零。 这是正确/安全的方法吗? 我想是的,但我不是 100% 确定,我想要律师......

回答 1 投票 0

结构与一个元素的并集与元素并集 mplab pic32

我正在查看 pic 10 包含文件(p32mk1024gpk064.h),并且想知道为什么他们添加了一个具有单个元素的结构,而不是结构和 uint_32 之间的并集。 类型定义联合{ 斯特...

回答 1 投票 0

如何使用 GCC 编译器强制执行结构体位顺序?

我想知道是否有 GCC C 编译器指令允许我确定结构打包的位顺序?喜欢的东西: #pragma bit_order left 这样做的理由...

回答 1 投票 0

使用位域获取负值

我有一个关于C中位域的问题。这里我有这样的结构: 结构寄存器 { 整数位:1; }; int 主函数(无效) { 结构寄存器位 = {1}; 打印(“ 位 = %d", 位.位); 重新...

回答 3 投票 0

CTypes 位域设置整个字节

我有以下结构: 类键盘修饰符(结构): _字段_ = [ ('左控制', c_bool, 1), ('right_control', c_bool, 1), ('左移', c_bool, 1), ...

回答 1 投票 0

位域中的字节对齐

在有关位字段的 cppreference 文章中: #包括 #包括 #包括 结构S { // 通常会占用2个字节: 无符号字符 b1 : 3; // 第一个...

回答 1 投票 0

如何用位域掩码 int

我有一系列由位字段表示的 25 个标志和一个表示此时设置的任何标志的会话整数。我想屏蔽整数,例如268698112 并查看设置了哪些标志。 F级...

回答 1 投票 0

用结构和 ctypes 解释 Python 中的位打包数据:结果不对齐

我有一些以位打包格式存储的数据,我正在尝试用 Python 提取这些数据。 具体来说,这些是旧的位图字体,其中: 字形的每一行都是一组 n 位(其中 n 是

回答 1 投票 0

为什么在嵌入式系统固件中可以使用结构体来表示 MMIO 寄存器,而不是位域?

在嵌入式系统固件中,通常使用结构体来表示外设的多个内存映射寄存器,假设编译器的代码生成将遵循特定的...

回答 1 投票 0

如何模拟Delphi记录中的位字段?

我想在 Delphi 中声明一条记录,其中包含与 C 中相同的布局。 对于那些感兴趣的人:此记录是 Windows API LDT_ENTRY 记录中联合的一部分(我需要使用此

回答 4 投票 0

C 规范在位域上下文中“重叠相邻单元”意味着什么?

我正在努力理解 C 语言规范 (6.7.2.1.11) 位域的这一部分: 实现可以分配足够大的任何可寻址存储单元来容纳位字段。如果

回答 1 投票 0

STM32 - 使用这些自定义结构在寄存器内读取/写入奇异位可以吗?

在STM32中从寄存器读取和写入似乎非常笨拙并且读起来不直观,例如: BR值 = (SPI_CR1_BR & SPI1->CR1) >> SPI_CR1_BR_Pos; // 读取当前BR值 SPI1-&g...

回答 1 投票 0

是否可以有结构体或联合类型的位域?

我想要一个64位大小的结构体(一个完整的数据CAN帧)。 在这个结构体中,我想要有 16 个结构体,每个结构体的大小为 4 位。 我已经有了一个可行的解决方案,但它是 n...

回答 1 投票 0

通过 lambda 表达式中的引用捕获位字段

根据cppreference,位字段只能通过复制来捕获:https://en.cppreference.com/w/cpp/language/lambda。时期。 同时,我们可以看到某些场景,例如: 结构U { ...

回答 1 投票 0

在 C++ 结构体中打包位字段时遇到困难

我试图制作一种更好的类型来处理发送到 LED 驱动器 IC 的打包数据。格式看起来像这样。它显示两种可能的格式,具体取决于地址位的值。 ...

回答 1 投票 0

C 程序结构和联合位域

typedef 联合 { 结构体 { uint8_t ctr; uint8_t write_ptr; uint8_t read_ptr; 无符号暂停:1; // 通过...暂停数组更新

回答 1 投票 0

我可以制作布尔位字段吗?

这合法吗?我读到只能使用整数作为位域,但这是否适用于 bool/_Bool 类型?这可以吗,或者这是未定义的行为? 结构体 MyStruct { // ... 乙...

回答 1 投票 0

gcc 和 MSFT CL 之间的位域结构大小不同

我有以下代码: #包括 #pragma 包(1) 使用 MyType_t = union { uint8_t 缓冲区[16]; 结构体{ uint64_t:55; uint64_t b ...

回答 0 投票 0

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