函数调用的编译错误,Arduino

发布于 2024-11-19 22:11:20 字数 356 浏览 1 评论 0 原文

我在编译程序时遇到问题。它是这样写的:

 AP_Var(AP_Var_group *group, Key index, const prog_char_t *name, Flags flags = k_flags_none);

编译器告诉我

AP_Var.h:163: error: Expected ',' or '...' before '*' token

据我所知,prog_char_t 来自另一个名为 Betterstream.h 的文件,但是 prog_char_t 到底是什么?

I have a problem when I compile my program. It is written like this:

 AP_Var(AP_Var_group *group, Key index, const prog_char_t *name, Flags flags = k_flags_none);

The compiler tells me that

AP_Var.h:163: error: expected ',' or '...' before '*' token

To what I know, prog_char_t comes from another file called Betterstream.h, but what exactly is prog_char_t?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

西瓜 2024-11-26 22:11:20

prog_char_tAP_Common.h rel="nofollow">Arducopter 来源。

// prog_char_t is used as a wrapper type for prog_char, which is
// a character stored in flash. By using this wrapper type we can
// auto-detect at compile time if a call to a string function is using
// a flash-stored string or not
typedef struct {
        char c;
} prog_char_t;

即它定义了一个存储在 AVR 微控制器的程序存储器中的char

标准 Arduino 环境使用 avr-libc ,它定义了 prog_char 出于相同目的。我不清楚为什么 Arducopter 团队选择自己定义这个。

prog_char_t is defined as follows in AP_Common.h in the Arducopter source.

// prog_char_t is used as a wrapper type for prog_char, which is
// a character stored in flash. By using this wrapper type we can
// auto-detect at compile time if a call to a string function is using
// a flash-stored string or not
typedef struct {
        char c;
} prog_char_t;

i.e. it defines a char which is stored in the program memory of an AVR microcontroller.

The standard Arduino environment uses avr-libc which defines prog_char for the same purpose. It's not clear to me why the Arducopter team chose to define this themselves.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文