wood1314 发表于 2020-2-23 12:57

利用C语言实现寄存器数据结构出现问题

代码如下,由于其它代码关联性的问题,现在想保证gpr这个结构不变的情况下(可以改成struct什么的,但是结构内容不能减少),使得gpr和下面的eax等寄存器内存是共享的。
typedef struct {
struct {
    uint32_t _32;
    uint16_t _16;
    uint8_t _8;
} gpr;

rtlreg_t eax, ecx, edx, ebx, esp, ebp, esi, edi;

vaddr_t eip;

} CPU_state;

charlie428 发表于 2020-2-23 14:24

如果这只是一个编程问题的话(而不涉及硬件的什么东西)。。。使用Union?参考https://zh.cppreference.com/w/c/language/union

wood1314 发表于 2020-2-24 12:51

charlie428 发表于 2020-2-23 14:24
如果这只是一个编程问题的话(而不涉及硬件的什么东西)。。。使用Union?参考https://zh.cppreference.com ...

好的,问题解决了,谢谢
页: [1]
查看完整版本: 利用C语言实现寄存器数据结构出现问题