【发布时间】:2013-07-16 16:56:38
【问题描述】:
我是一名操作系统开发人员,我想用我的 gcc 交叉编译器(版本 = 4.5.4)编译以下内容(在文件 cpu.h 中)
#ifndef X86_64_CPU_H
#define X86_64_CPU_H
#include<stdint.h>
typedef struct
{
// manually secured registers
uint64_t rax;
uint64_t rbx;
uint64_t rcx;
uint64_t rdx;
uint64_t rsi;
uint64_t rdi;
uint64_t rbp;
uint64_t r8;
uint64_t r9;
uint64_t r10;
uint64_t r11;
uint64_t r12;
uint64_t r13;
uint64_t r14;
uint64_t r15;
uint64_t intr;
uint64_t error;
// secured by cpu
uint64_t rip;
uint64_t cs;
uint64_t rflags;
uint64_t rsp;
uint64_t ss;
} cpu_state;
...
#endif
但不幸的是它说:
HAL/x86_64/cpu.h:4:1:错误:声明说明符中有两种或多种数据类型
我做错了什么?
【问题讨论】:
-
你的代码没有问题
-
一切似乎都正确。