Два или более типов данных в спецификации спецификаторов ошибка в заголовочном файле

Я разработчик ОС, и я хотел бы скомпилировать следующее (это в файле 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: ошибка: два или более типов данных в спецификаторах объявления

Что я делаю неправильно?

1 ответ

Решение

Обычно эта ошибка возникает, когда после объявления структуры пропущена точка с запятой. Я не вижу здесь ничего, однако возможно, что следующая структура пропустит свою точку с запятой.

typdef struct{

...


} next_struct <- missing ;
Другие вопросы по тегам