gpt4 book ai didi

c - OS161 错误前应为 '=' 、 ',' 、 ';' 、 'asm' 或 '__attribute__'

转载 作者:行者123 更新时间:2023-11-30 18:01:18 24 4
gpt4 key购买 nike

我正在从事 os161 项目。我创建一个文件,其中包含 src/kern/include 中提供的 array.h。当我编译时,我遇到了这样的错误:./../include/array.h:85:错误:“无符号”之前应有“=”、“,”、“;”、“asm”或“属性”../../include/array.h:91:错误:“void”之前应有“=”、“,”、“;”、“asm”或“属性

代码如下:

#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 文件,我没有对其进行任何更改。实在想不通为什么。

最佳答案

我也在开发 os161。 INLINE 未定义,请尝试使用 #define ARRAYINLINE inline 代替。

[编辑]

我检查了我的 os161 版本。我在 #define ARRAYINLINE INLINE

之前找到了这一行
#define INLINE extern inline

所以请检查您的 array.h 是否也包含此行(在我的例子中为 115)

[/编辑]

关于c - OS161 错误前应为 '=' 、 ',' 、 ';' 、 'asm' 或 '__attribute__',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9869378/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com