- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 PIC32 编译器 v2.02 时遇到问题。
编译器定义 BOOL 类型如下:
typedef enum _BOOL { FALSE = 0, TRUE } BOOL; // BOOL Type
我想返回函数中的枚举值之一,如下所示:
BOOL
MyFunction(void)
{
if( PortAvailable() )
{
return TRUE;
}
else
{
return FALSE;
}
}
当我编译代码时,我收到“MyFunction”之前的错误:
error: expected '=', ',', ';', 'asm' or '__attribute__' before 'MyFunction'
我正在将编译器从版本 1.05 升级到版本 2.02,在版本中我创建了自己的 BOOL typedef。在尝试使用 2.02 版本之前,代码运行得很好。 (是的,我已经从代码中删除了 BOOL 的 typedef)。
我发现非常奇怪的是,如果我像这样删除函数:
enum BOOL
MyFunction(void)
{
if( PortAvailable() )
{
return TRUE;
}
else
{
return FALSE;
}
}
编译器没有给我上面的错误。我是否正确使用了枚举的 BOOL 或者有人知道我缺少的步骤吗?
最佳答案
再次感谢您花时间帮助我解决这个问题。我能够确定,对于较新版本的 Microchip C32 编译器 v2.02,我需要声明:
#include <plib.h>
这是使用"new"BOOL typedef 的文件中的 Pic32 标准库。使用旧版本的编译器,它基本上让用户创建自己的 BOOL typedeff (我就是这么做的),但是一旦我从代码中删除了 typedeff,我就没有添加适当的 header 来声明枚举。
我的菜鸟错误,但我希望这个答案能够帮助遇到类似问题的其他人。
关于c - [功能] 之前出现错误 : expected '=' , ',' 、 ';' 、 'asm' 或 '__attribute__',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38209823/
我有一个目前正在用 C 编写的应用程序,其中我在作为项目一部分的库中声明了几个 TLS 静态全局变量。 TLS 变量是使用 gcc 的 __thread 指令声明的。 我想知道我是否可以使用 .cto
如果 C++ 类构造函数只能通过其参数访问数据,那么它们是否可以并且应该声明为 __attribute__((pure))?在什么情况下它们应该被限定为 __attribute__((const))?
遵循 GCC __attribute__(packed) 将打包到字节边界,对齐用于此目的:-- u8 rx_buf[14] __attribute__((aligned(8))); struct
__attribute__((const)) 和 GNU C 中的 __attribute__((pure)) 有什么区别? __attribute__((const)) int f() {
这个问题不太可能对任何 future 的访客有帮助;它只与一个较小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于全世界的互联网受众。如需帮助使此问题更广泛适用,visit the
我想利用 GCC 的可见性属性。 为此,在我的可执行文件中,我有一个函数,我希望它对任何插件都可见,这样它们就可以使用它来注册自己。因此,我在其上使用 __attribute__((visibilit
有时我会出于各种原因围绕 printf 风格的函数编写包装器,我真的很喜欢让 clang 告诉我格式说明符和实际参数之间的类型不匹配。考虑: #include #include static __
我对以下代码行有疑问: char buffer[256] __attribute__((aligned(4096))); 全局数组“缓冲区”的内容是字符串,我从标准输入中获取。我读过https://g
在gcc documentation它们提供有关整数如何对齐的信息。 打包整数可以做同样的事情吗? 例如,这在不会自动处理不正确对齐数据的系统上有效吗? typedef uint16_t __attr
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: GCC __attribute__((aligned(x)) explanation What is mea
__attribute__ 指令是否适用于一行中声明的所有成员? int a, b, c; 声明三个 int 变量。 int *a, b, c; 将变量“a”声明为指向 int 的指针,将 b 和 c
在使用 gcc __attribute__ 函数时,我注意到代码生成存在差异,具体取决于我放置属性的位置。在下面的示例中,我希望编译器不要优化我对 use() 的调用。 编译器:x86-64 gcc(
为什么gcc需要__attribute__((__malloc__))?难道不应该通过将 malloc (和类似的函数)声明为返回 restricted 指针来传达相同的信息 (void *restr
我得到了一段将 __attribute__((const)) 应用于某些函数的代码。现在,我宁愿在它可用时不删除它,但另一方面,我确实想要更便携,所以 - 我想说 #if some condition
我可能对 weak 理解有误: 我的情况: 具有一些弱回调的“物理层” 实现这些回调的“框架层”,并为应用层提供新的 WEAK 回调 主要 - 应用层。 phy.h #pragma once void
我知道从C编程语言的角度main() 是程序的入口点。 但从操作系统的角度来看,__start 位于 ctrt0 启动例程,它链接到一个程序中,该程序在调用程序的 main() 函数(如有错误请指正)
这几天一直让我抓狂。如果我将数组声明为 static,则无法让数组对齐 16。 非常感谢任何帮助。 修订版: #include #include #define MAX_INPUTS 250 in
我正在尝试在 android NDK 上进行开发。我实际上有一个带有模块的项目+子文件夹(编译为静态库)并与主项目文件(libs .a + main object .o --> 可执行文件)链接在一起
这个问题在这里已经有了答案: Is there a standard "never returns" attribute for C# functions? (10 个答案) 关闭 8 年前。 C#
__attribute__ ((__packed__)) 对嵌套结构有什么影响?例如: // C version struct __attribute__ ((__packed__)) { s
我是一名优秀的程序员,十分优秀!