Я разработчик ОС, и я хотел бы скомпилировать следующее (оно находится в файле cpu.h) с помощью моего кросс-компилятора gcc (ver= 4.5.4)
#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: ошибка: два или более типов данных в спецификаторах объявлений
Что я делаю не так?