OS161 ожидал '=', ',', ';', 'asm' или '__attribute__' до ошибки - PullRequest
0 голосов
/ 26 марта 2012

Я работаю над проектом os161. Я создаю файл, который включает array.h в src / kern / include. Когда я компилировал, у меня была такая ошибка: ./../include/array.h:85: ошибка: ожидается "=", ",", ";", "asm" или " атрибут " перед "без знака" ../../include/array.h:91: ошибка: ожидается '=', ',', ';', 'asm' или ' атрибут ' перед 'void'

код похож на:

#ifndef ARRAYINLINE
#define ARRAYINLINE INLINE
#endif

ARRAYINLINE unsigned    --------------line 85 error
array_num(const struct array *a)
{
    return a->num;
}

ARRAYINLINE void *     --------------line 91 error
array_get(const struct array *a, unsigned index)
{
    ARRAYASSERT(index < a->num);
    return a->v[index];
}

и такая ошибка произошла в каждой строке, что-то вроде INLINE или ARRAYINLINE. Этот файл array.h предоставлен, и я не внес в него никаких изменений. На самом деле не могу понять, почему.

Ответы [ 2 ]

1 голос
/ 26 марта 2012

Я тоже работаю над os161. INLINE не определено, попробуйте использовать #define ARRAYINLINE inline.

[EDIT]

Я проверил мою ревизию os161. Я нашел эту строку до #define ARRAYINLINE INLINE

#define INLINE extern inline

Поэтому, пожалуйста, проверьте, содержит ли ваша array.h эту строку (115 в моем случае)

[/ EDIT]

0 голосов
/ 26 февраля 2015

Я также работаю на OS161, эта ошибка может быть сгенерирована, если у вас есть случайный символ вне вашей функции.Пример:

#include <...>
...
e //<-this random character that could have been mistyped.

sys_fork(...){
...
}
...