示例
#include <stdio.h>
#include <iostream>
// 定义包含信号位的结构体
struct Signals {
unsigned int signal0 : 1;
unsigned int signal1 : 1;
unsigned int signal2 : 1;
unsigned int signal3 : 1;
unsigned int signal4 : 1;
unsigned int signal5 : 1;
unsigned int signal6 : 1;
unsigned int signal7 : 1;
unsigned int signal8 : 1;
unsigned int signal9 : 1;
int a;
};
int main() {
// 创建结构体变量
struct Signals data;
// 设置信号值
data.signal0 = 1;
data.signal5 = 0;
// 获取信号值
printf("Signal 0: %d\n", data.signal0); // 应该输出 1
printf("Signal 5: %d\n", data.signal5); // 应该输出 0
std::cout << sizeof(data) << std::endl;
return 0;
}
输出
mazu@tegra-ubuntu-s2:~$ g++ test.cpp
mazu@tegra-ubuntu-s2:~$ ./a.out
Signal 0: 1
Signal 5: 0
8